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

Хочу задать вопрос шизика. Имеет смысл делать декларацию класса в

header файле, а потом его имплементацию в cpp файле. Или лучше не заморачиваться и имплементировать класс в header файле, а его функции в cpp?

21 ответов

13 просмотров

Да, имеет

Vladimir-🖤 Автор вопроса
Ilya Zviagin
Да, имеет

Спасибо! Я думал, что делаю лишние заморочки.

Стой не уходи

Vladimir-🖤 Автор вопроса

Ты понимаешь, в каком контексте нужно определение типа, а в каком достаточно объявления?

А это вот КАК ? Потому что ты написал как делать ТАК или ТАК ЖЕ ?

Имплементация класса — это в основном имплементация МЕТОДОВ класса , и переменных класса (статических) и всё. Классы, в отличие от других элементов языка, нельзя объявить и определить. Можно только определить и сделать forward declaration. Последнее не является объявлением полноценным, поскольку не даёт делать с обявляемым типом любые действия.

Vladimir-🖤 Автор вопроса
Ilya Zviagin
Имплементация класса — это в основном имплементаци...

Вы хотите сказать, чтобы я определил класс в хедере, а те поля, которые имеют тип из другого хедера (например, ifstream) я сделал бы не делал #include <iostream>, а просто сделал бы class ifstream

Vladimir 🖤
Вы хотите сказать, чтобы я определил класс в хедер...

Нет, я такого не говорил, и не хотел сказать.

Vladimir-🖤 Автор вопроса
Ilya Zviagin
Нет, я такого не говорил, и не хотел сказать.

А вы имели ввиду такую возможность?

Vladimir 🖤
Вы хотите сказать, чтобы я определил класс в хедер...

У тебя есть две опции: — Определить класс и методы в заголовочном файле — Определить класс и объявить методы в заголовочном файле, а определить методы в .cpp

Vladimir-🖤 Автор вопроса

/* Code */ Вот, code. Типа так?

Artöm Bakri Al-Sarmini
Почему?

Потому что ты не можешь делать с этим типом всё, что ты можешь делать с типом при его объявлении. использование forward declared класса ограничено.

Ilya Zviagin
Потому что ты не можешь делать с этим типом всё, ч...

Верно, определение и объявление разные вещи

Vladimir-🖤 Автор вопроса

Telegram удаляет ` и сам форматирует

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта