170 похожих чатов

Workarea.Cpp: #Include <FL/Fl_Box.H> #include "main.h" class Workarea : public Photoeditor {

Fl_Box* workarea_yield = new Fl_Box(workarea_x, workarea_y, workarea_width, workarea_height);
workarea_yield->box(FL_BORDER_BOX);
};

main.cpp :

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Button.H>

class Photoeditor:Fl_Window {
public:
int workarea_x;
int workarea_y;
int workarea_width;
int workarea_height;

Photoeditor (int w, int h, const char* title) : Fl_Window (w, h, title)
{
workarea_x = 10;
workarea_y = 30;
workarea_width = (w - workarea_x) - 10;
workarea_height = (h - workarea_y) - 10;

Fl_Button* button = new Fl_Button(10, 10, 60, 15, "image");
show();
};
};

int main()
{
Photoeditor editor(640, 480, "photoeditor");
Fl::run();
return 0;
}

main.h :

#include "FL/Fl_Window.H"
class Photoeditor:Fl_Window {};


Почему-то поля класса Photoeditor не доступны. Как вообще это нужно организовывать?)

75 ответов

89 просмотров

Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Всё ещё неправильно :( Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

В закрепе почитай инструкцию

пока надо просто почитать учебники по ООП в C++, ну или ошибки исправить, если писал с листа.

Андрей- Автор вопроса
Андрей- Автор вопроса
Anatoly Shirokov
пока надо просто почитать учебники по ООП в C++, н...

Блин, я вроде понимаю как это работает. но возможно глубины не хватает. По сути вещей, это мой первый полноценный проект строится

Андрей
Где именно?)

Полистай закреп

Андрей- Автор вопроса
Ilya Zviagin
Полистай закреп

Полистал, и что там?)

Стикер

Всё ещё неправильно :( Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Да фиг с ним, с форматированием, плюнь. Не умеешь - учись на маленьком примерчике.

Андрей- Автор вопроса
Ilya Zviagin
Да фиг с ним, с форматированием, плюнь. Не умеешь ...

Ладно, пойду поищу информацию в интернете по своей теме)

Андрей- Автор вопроса

Ладно, я так понял, это нужно сделать по другому, чтобы это работало. Но как это обычно делается?

Андрей
Ладно, я так понял, это нужно сделать по другому, ...

Что сделать нужно? То как у тебя сейчас сделано должно работать никаких ошибок быть не должно если тебе не получается так сделать то ты шли код и ошибки какие выдаются

Андрей- Автор вопроса
Ilya Zviagin
Что сделать нужно? То как у тебя сейчас сделано до...

Он просто не видит поля из класса Photoedotor . Это весь код. При этом сам класс Photoeditor он видит

Андрей
Ладно, я так понял, это нужно сделать по другому, ...

Почитай неплохое введение в книгу "Шаблоны проектирования" банды четырех. Там вот очень наглядный пример о текстовом редакторе и сколько архитектурных проблем приходится решать при написании.

Андрей
Он просто не видит поля из класса Photoedotor . Эт...

Ты русский язык понимаешь? Присылай код и транскрипт компиляции со всеми ошибками

Андрей- Автор вопроса
Anatoly Shirokov
Почитай неплохое введение в книгу "Шаблоны проекти...

Та не могу я сейчас целую дополнительную книгу читать. Я должен уже к практике наконец-то приходить

Андрей- Автор вопроса
Ilya Zviagin
Ты русский язык понимаешь? Присылай код и транскри...

Как именно прислать код? Файлы здесь нельзя перекидывать, 3 странички pastebin ?

Андрей- Автор вопроса
Александр Водянников
Ну тогда не читай, и в чаты не ходи

Так я просто помощи попросил. Или для того, чтобы прийти в чат для новичков, я должен быть профессионалом?

Андрей
Так я просто помощи попросил. Или для того, чтобы ...

Вас искренне хотят здесь помочь, правда. Просто слушайте внимательно, что вас просят сделать. Помогите другим помочь вам

Андрей- Автор вопроса
Ilya Zviagin
Кончай базар уже и шликот

https://pastebin.com/JxJpQLMs //workarea.cpp https://pastebin.com/gCv4ZnG0 //main.cpp https://pastebin.com/dK3wtdY1 //main.h Ошибки: "Use of undeclared identifier 'workarea_x'", "Use of undeclared identifier 'workarea_y'", "Use of undeclared identifier 'workarea_width'", "Use of undeclared identifier 'workarea_height'", "Unknown type name 'workarea_yield'", "Expected member name or ';' after declaration specifiers" //Все ошибки относятся к workarea.cpp

Андрей- Автор вопроса

Можете хотя-бы примерно объяснить, что сделал не так?)

Андрей
Можете хотя-бы примерно объяснить, что сделал не т...

проще замазать чем отодрать... ты вообще понимаешь сам что ты пишешь или просто переписываешь откуда-то?

Андрей
https://pastebin.com/JxJpQLMs //workarea.cpp http...

А это что такое ? class Photoeditor:Fl_Window {};

Андрей- Автор вопроса
Andrey S
проще замазать чем отодрать... ты вообще понимаешь...

Я пытаюсь с нуля написать свой проект, до этого я занимался лишь теорией, в основном на C

Ilya Zviagin
А это что такое ? class Photoeditor:Fl_Window {};

очевидно человек хотел унаследовать один класс от другого, но как сделать не знал... ну это я так думаю...

Андрей- Автор вопроса
Ilya Zviagin
А это что такое ? class Photoeditor:Fl_Window {};

Объявление класса в файле main.h . Здесь я указал класс Photoeditor и показал, что он наследуется от класса Fl_Window , который находится в заголовочном файле Fl_Window.H который объявляется в main.cpp

Андрей- Автор вопроса
Ilya Zviagin
Это определение. причём второе уже.

Так проблема только в заголовочном файле? Почему вы так пишете, будто у меня каша из кода?

Андрей
Объявление класса в файле main.h . Здесь я указал ...

Короче, хочешь избавиться от всего этого дерьма быстро - перенеси весь код в один исходный файл, пока тебе множество файлов не нужно. Оформишь там код правильно - хоть что-то поймёшь

Андрей
https://pastebin.com/JxJpQLMs //workarea.cpp http...

У тебя в main.cpp твой Photoeditor имеет одно определение, а в workarea.cpp другое. Перенеси из main.cpp определение в main.h и включай его же тут.

Андрей
Объявление класса в файле main.h . Здесь я указал ...

но компилятор то сразу все файлы знает

Андрей- Автор вопроса
Андрей
Понял, спасибо

определение должно быть одно, короткие методы можно писать там-же, большие лучше выносить в отдельные файлы, но прототипы в определении должны быть

Андрей- Автор вопроса
Andrey S
определение должно быть одно, короткие методы можн...

Да, спасибо, теперь понял в чём проблема. Исправляю

Ilya Zviagin
Пиши всё в одном исходнике

Инклуды для лохов, один файл для пацанов?))

Андрей- Автор вопроса
Ilya Zviagin
Пиши всё в одном исходнике

Можно, но я всё время так делаю. Нужно учится чему-то новому, ведь в будущем я всё равно с этим столкнусь

Ты сначала задание сделай а потом будешь учиться

Андрей- Автор вопроса
Ilya Zviagin
Ты сначала задание сделай а потом будешь учиться

Это не задание, это просто удобная программа, которая в повседневной жизни будет полезной в основном для себя. В конце концов это практика, а умение разделять код, очень важная её составляющая.

Андрей
Это не задание, это просто удобная программа, кото...

Самая важная составляющая - уметь написать рабочий код.

Андрей
Это не задание, это просто удобная программа, кото...

ну, нужен класс? Делаешь ему одноименный хидер+спп, и всё, никаких проблем. Всё разделено, инклуды работают как положено

Андрей- Автор вопроса
Alexander Pshenichnikov
Самая важная составляющая - уметь написать рабочий...

Я в целом, умею это делать. Но создавая этот проект я хочу научится его организовывать

🐈
Ещё бы он был понятным...

Это следующая составляющая. К обсуждению понятности можно переходить, когда есть что-то работающее

Андрей
Я в целом, умею это делать. Но создавая этот проек...

Ну организовывай по современному. Пиши только в хедерарах или вообще используй модули

Андрей- Автор вопроса
Alexander Pshenichnikov
Это следующая составляющая. К обсуждению понятност...

Не перестраивать же мне проект, когда я его уже напишу

можно сразу писать хорошо, а можно писать как получится и потом рефакторить. Просто разные подходы, но второй выходит быстрее)

Андрей- Автор вопроса
Aniki Hi$ok@ 🌈 Z 🐀
можно сразу писать хорошо, а можно писать как полу...

Быстрее чтобы создать проект, но мне бы хотелось научится

Андрей- Автор вопроса
Aniki Hi$ok@ 🌈 Z 🐀
можно сразу писать хорошо, а можно писать как полу...

К тому же, даже в мои масштабах, когда я писал как получится, возникали огромные неприятности

Андрей
Быстрее чтобы создать проект, но мне бы хотелось н...

так в итоге получится одинаково. Легко переделать "правильно" то, что уже есть и работает. А с 0 надо опыта много, ты уже можешь архитектором идти устраиваться, если способен на такое

Андрей- Автор вопроса
Aniki Hi$ok@ 🌈 Z 🐀
так в итоге получится одинаково. Легко переделать ...

Пойду пока решать нынешнюю проблему. Всё таки проект состоит (или будет состоять) примерно из 3 исходных и столько же заголовочных файлов

Андрей
Пойду пока решать нынешнюю проблему. Всё таки прое...

я щас работаю над проектом, где ~150 единиц компиляции. А не 3 🌚

Андрей- Автор вопроса
Андрей- Автор вопроса
Aniki Hi$ok@ 🌈 Z 🐀
я щас работаю над проектом, где ~150 единиц компил...

Да я вообще всю жизнь писал только в одном файле и даже с тремя справится не могу

Андрей
Да я вообще всю жизнь писал только в одном файле и...

cmake используешь? Там сложного то ничего нет, инклуд ведь буквально вставляет код того, что в том фале находится

Андрей- Автор вопроса
Александр Водянников
Эка мелочи ))

так от того и страшно, что сервис не большой, а файликов много. Зато удобно, все там где должно быть

Андрей- Автор вопроса
Aniki Hi$ok@ 🌈 Z 🐀
cmake используешь? Там сложного то ничего нет, инк...

Я знаю. Я просто пока думают, как не ударить в грязь лицом, организовывая это

Андрей
Я знаю. Я просто пока думают, как не ударить в гря...

просто подключай в файле то, чтт в нём используется. Компилятор умный, он не будет дублировать (pragma once не забывай)

Андрей
Я знаю. Я просто пока думают, как не ударить в гря...

Последнее дело оглядываться, если пытаешься сам что-то делать. Это не стыдно нифига

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
вот что получается в интерпрететоре, работает и результаты выгляд разумными, но то как выглядит код мне не нравиться, а понять куда двигаться не очень могу, если кому не лень ...
Fedor
42
Карта сайта