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 ответов

164 просмотра

Оберните код в теги: 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 и включай его же тут.

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

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

Андрей- Автор вопроса
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 не забывай)

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта