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

Https://Pastebin.Com/GCv4ZnG0 //workarea.h https://pastebin.com/uAbL6KGx //workarea.cpp https://pastebin.com/dK3wtdY1 //main.h https://pastebin.com/gCv4ZnG0 //main.cpp В файле workarea.cpp я создал

поле workarea_yield - которое представляет из себя Box (один из виджетов библиотеки FLTK). Но не смотря на то, что класс в котором я с ним работал наследовался от класса в котором создавалось окно на котором должен быть был Box , ничего не отобразилось. Поэтому я создал workarea.h и оставил поле там, чтобы использовать его в файле, где я создаю остальной пользовательский интерфейс для программы. Но при попытке использовать его в main.cpp , но программа его не видит. Если я сделаю его статическим, жалуется уже компилятор. К тому же я предполагаю, что это поле окажется пустым, поскольку его реализация находится в workarea.cpp . Каким вообще образом это организовывается? В целом, структура проекта уже выглядит достаточно запутанной.

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

Буду очень благодарен за помощь

30 ответов

57 просмотров

у вас три уникальные ссылки и четыре уникальных названия файла

Добавьте в конструктор Workarea аргументы, как у Photoeditor и прозрачно передайте их в конструктор Photoeditor Workarea :: Workarea(int w, int h, const char* title) : Photoeditor(w, h, title) { // ... } Эту строку удалите Photoeditor editor(640, 480, "photoeditor");

Андрей- Автор вопроса
Alexander Pshenichnikov
Добавьте в конструктор Workarea аргументы, как у P...

А где в таком случаи создавать экземпляр класса и как именно это поможет?

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

Он создастья вместе с Workarea, потому что вы унаследовали Workarea от Photoeditor

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

Вы сказали удалить строку Photoeditor editor(640, 480, "photoeditor"); , но ведь она инициализирует окно (указывает ширину, высоту и название). Где теперь это делать?

Андрей
Вы сказали удалить строку Photoeditor editor(640,...

У вас будет строка Workarea workarea(640, 480, "photoeditor");

Андрей- Автор вопроса
Alexander Pshenichnikov
У вас будет строка Workarea workarea(640, 480, "p...

Очень разумное решение. Но всё равно Box почему-то не отображается, а вот окно с кнопкой отображается

Андрей- Автор вопроса
Alexander Pshenichnikov
Уже какой-то прогресс

Нет, окно и раньше отображалось

Андрей- Автор вопроса
Alexander Pshenichnikov
Уже какой-то прогресс

Я могу скинуть изменения

Андрей
Я могу скинуть изменения

Может надо еще вызвать? workarea_yield->show();

Андрей- Автор вопроса
Alexander Pshenichnikov
Может надо еще вызвать? workarea_yield->show();

Всё исправил! Спасибо всем за помочь!

Андрей
Всё исправил! Спасибо всем за помочь!

Так расскажите, всем же любопытно, как исправили

Андрей- Автор вопроса
Alexander Pshenichnikov
Так расскажите, всем же любопытно, как исправили

Не уверен, что всем любопытно, но. Поставил перед всеми родительскими классами public, убрал метод show() из конструктора Photoeditor и поставил в конструктор Workarea

Андрей- Автор вопроса
Alexander Pshenichnikov
Так расскажите, всем же любопытно, как исправили

Поле родителя родителя будучи публичным без явного указания обратного становится приватным для внука?

Андрей
Поле родителя родителя будучи публичным без явного...

у классов по умолчанию приватное наследование

Я ж тебе сказал - ПИШИ ВСЁ В ОДНОМ ИСХОДНОМ ФАЙЛЕ!

Андрей- Автор вопроса
Гилимханов Денис
у классов по умолчанию приватное наследование

Да, но поскольку я могу использовать его непосредственно в своём классе при наследовании , я предполагаю там явно указан модификатор методов, которые я использую в своём классе

Андрей- Автор вопроса
Ilya Zviagin
Я ж тебе сказал - ПИШИ ВСЁ В ОДНОМ ИСХОДНОМ ФАЙЛЕ!

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

Андрей
Как я и говорил ранее, я пишу его прежде всего не ...

Напиши сначала В ОДНОМ ФАЙЛЕ , может что-то поймёшь. Потом будешь разбивать на кусочки. И тоже что-то поймёшь. Так ты не поймёшь ничерта никогда, потому что никакого руководства по организации проектов в С++ нет.

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

Как только приватно унаследовались, вы скрыли поля и методы родителя от всех Для внука в том числе

Андрей- Автор вопроса
Ilya Zviagin
Напиши сначала В ОДНОМ ФАЙЛЕ , может что-то поймёш...

У меня за всё время, возникла только одна проблема связанная с понимание библиотеки FLTK и то, она бы не возникла, если бы я не писал проект в нескольких файлах. В итоге написав его в одном файле, особых проблем (кроме дискомфорта, проект не маленький) у меня не возникнет. Создав проект в одном файле, мне ко всему придётся мучатся и не делать всё "с чистого листа", а растаскивать готовый проект по разным файлам из-за чего он будет ломаться ещё обильнее. Те вещи, которые помогли мне сегодня, я надолго усвоил и сталкивался с теми же вещами о которых здесь спрашивал повторно, но уже знал, как их решать. На этом и строится обучение - учится на собственных ошибках или если мои знания недостаточно глубокие, чтобы предположить эту ошибку. Для этого я и нахожусь в чате для новичков, потому, что загуглить эти проблемы сложно, смотреть кучу видео в надежде найти ответ очень долго, таким образом те - кто желали помочь мне , помогли и я усвоил материал намного быстрее. Вы можете не понять прикола "не тратить время на кучу видео", но если вообще проблема, которую просто невозможно решить в одиночку? Даже самая сложная проблема, основывается либо на отсутствии глубинных знаний, либо на баге (чаще всего в первом), но вы - в отличии от меня, задаёте сложные вопросы, поскольку вы +- профессионал, но вы тоже могли бы просто покопаться в гугле, посмотреть кучу видео, потратить на это пол дня или день и всё равно добиться ответа без помощи других людей. Но для этого и созданы чаты для новичков, не чтобы он пустовал, поскольку где-то в дебрях интернета спустя день можно найти информацию и все день там копаются, без мысли о том, что можно спросить совета у знающих

Андрей- Автор вопроса
Андрей
У меня за всё время, возникла только одна проблема...

И FLTK тебе не нужно. Вообще, графика, сеть, игры, - не нужны. Изучай язык сначала.

Андрей- Автор вопроса
Ilya Zviagin
И FLTK тебе не нужно. Вообще, графика, сеть, игры,...

Я изучил его достаточно, чтобы наконец-то пожелать сделать хоть что-то. К тому же, мне нужно зарабатывать хоть какие-то деньги, бодай на простых проектах

Андрей- Автор вопроса
Alexander Pshenichnikov
Главный тезис: Илья +- профессионал 😂

Нужно было написать твёрдо Илья Профессионал - чтобы точно и метко победить в этом разговоре

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

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

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на 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
думаешь я не смогу также сделать? мне это просто не удобно
int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
9
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Ребят, чет я уже не догоняю... Крч в коде на асм там происходит нечто вроде a+число (a+1, a+2 и т.д.). Но почему строка lea ecx, [edx+1] работает как a+1?? В edx берется адрес...
Alan 🔝 Бэброу
3
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
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
Карта сайта