![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Нет, написал так, как нужно по учебнику. Я вообще класс и реализацию всегда в *.H пишу, не люблю громоздить кучи файлов.
Это сообщение отредактировал(а) mr.Anderson - 26.4.2007, 21:00 |
|||
|
||||
vinter |
|
||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
издержки copy\past, в сpp конешно же реализация Добавлено через 4 минуты и 15 секунд как раз по учебнику надо с точность да наоборот, стражи включения нужны в h файлах, т.к они подключаются к другим файлам реализациям, и могут быть повторно включены, а вот cpp никуда не подключаются, и следовательно стражи не нужны.
зря, надо разграничивать interface\implementation |
||||
|
|||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
А чего ради? Чтобы скрывать от других людей? Я пока еще не понял, как это можно сделать. Все равно нельзя распространять H отдельно от CPP, работать не будет. Поэтому смысл разделения? А вот увеличивать количество файлов класса вдвое не хочется. |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
нет просто чтобы человек взявший твой код, не стал бы перелопачивать кучу кода, а посмотрел бы себе отдельно интерфейс, ему не нужна реализация он просто хочет знать какие возможности ему предоставляет этот класс. ну и принято так, интерфейс user-part, а вот в реализацию лезть не положено
![]() вот например множество библиотечных ф-ий, их реализация ведь скрыта от тебя. |
|||
|
||||
Xenon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
mr.Anderson, как минимум для того, чтобы у тебя не были файлы на три страницы. Ты можешь распространять, допустим, хедеры для пользователей и для разработчиков абсолютно разные (код не скроется, но ты можешь у хедеров для пользователей выкинуть некоторые функции, которые им не нужны)
Потом, компилятору порой сложно избежать репликации агрегатов из несклольких единиц трансляции. Daevaorn но тот вариант, что vinter кинул (хоть и сдуру) - чисто нарушение ODR. В каком случае это будет работать? Добавлено через 2 минуты и 42 секунды ... немного подумав ... : когда, вероятно, абсолютно индентичны определения, когда определения в разных единицах трансляции? |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |