Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2012, 12:36   #1
Arrioh
Пользователь
 
Регистрация: 25.03.2012
Сообщений: 60
Смущение Вопрос про header

Уважаемые форумчане, стоит ли выписывать тело конструктора, тело геттеров и сеттеров в .сpp файл или лучше оставить их в headere? Как поступаете вы?
Arrioh вне форума Ответить с цитированием
Старый 16.07.2012, 12:39   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

максимум переношу в cpp.
а еще можно и вообще сокрытие реализации применить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.07.2012, 12:46   #3
Arrioh
Пользователь
 
Регистрация: 25.03.2012
Сообщений: 60
По умолчанию

спс. Понял. Думаете не существенно, то что из за одной строчки кода нужно прыгать в другой файл?
Arrioh вне форума Ответить с цитированием
Старый 16.07.2012, 12:54   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вообще то .cpp это отдельная единица компиляции, и весь скомпилированный код должен быть там.
а если вы оставите код в хидере и он будет включен в несколько единиц компиляции, то будет мультиопределение символа.(можете сами проверить)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.07.2012, 12:56   #5
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

Пепел вы что, а рпагмаванс или ifndef - define - endif например по имени ашника? ну поняли о чем я.
Kukurudza вне форума Ответить с цитированием
Старый 16.07.2012, 13:26   #6
Arrioh
Пользователь
 
Регистрация: 25.03.2012
Сообщений: 60
По умолчанию

Пока переносил геттеры в .сpp возник вопрос:
Как получать доступ к полям для их использования в самом .срр? ведь теперь вариант
Цитата:
this->color
не подходит.

Цитата:
Piece::PieceColor getColor()
{
return Color;
}
как осуществить геттер?
Arrioh вне форума Ответить с цитированием
Старый 16.07.2012, 13:44   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Пепел вы что, а рпагмаванс или ifndef - define - endif например по имени ашника? ну поняли о чем я.
это защита в пределах одной единицы трансляции.(один cpp)
Цитата:
не подходит.
все так же работает.
Код:
class someclass
{
public:
    int color;
    int getColor();
};
это хидер.
Код:
#include "someclass.h"

int someclass::getColor()
{
    return color;
}
это .cpp
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.07.2012, 13:52   #8
Arrioh
Пользователь
 
Регистрация: 25.03.2012
Сообщений: 60
По умолчанию

Дело в том что поле "color" -является "private"
Arrioh вне форума Ответить с цитированием
Старый 16.07.2012, 15:11   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну и пусть, это же метод класса.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.07.2012, 15:41   #10
Arrioh
Пользователь
 
Регистрация: 25.03.2012
Сообщений: 60
По умолчанию

Прошу прощения) Это я по не грамотности cделал ошибку. Спасибо Вам
Arrioh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
skipped when looking for precompiled header use, warning C4627 Почему пропущен header ? malor Visual C++ 3 26.06.2011 12:25
Вопрос про Свойство Visible и про иконки в imagelist Kappi4 Компоненты Delphi 2 21.05.2010 13:10
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос про IP ЧИЖ Работа с сетью в Delphi 1 23.06.2008 13:53
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24