![]() |
|
Модераторы: bsa |
![]()
|
|
| GoldFinch |
|
||||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
есть ли способ в объявлении класса в .h написать только public и protected части, и не писать private часть?
ато надоели такие ситуации:
при этом Bar.h используется только в Foo.h, а Foo.h используется везде, и при изменении Bar.h перекомпилируются все .сpp а хотелось бы инклудить Bar.h только в Foo.cpp ---------- можно сделать все методы Foo виртуальными, но есть подозрение что это неэффективо, изза наличия ВМТ в классе и вызовов через ВМТ можно написать
но это надо везде писать Foo<Bar>, да и Bar может быть не один Это сообщение отредактировал(а) GoldFinch - 24.6.2009, 20:17 |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Это сообщение отредактировал(а) mes - 24.6.2009, 20:25 |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
mes, а если Bar размером 4 байта? например это обертка для (хендла) сокета, файла
както не хочется часто по 4 байта в хипе выделять |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Для не хипа нужно знать размер структуры, следовательно bar.h должен быть включен. Но может проблема не с Foo, а с Bar ? что в нем такого, что он так часто перекомпилируем ? Как вариант, на момент установления его интерфейса, включать bar в состав класса через указатель, а как все отестируете и приведете в порядок, включить напрямую. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
||||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
если полей в самом Foo несколько, то, возможно, подойдёт PImpl - всех их собираем во внутреннюю структуру и в Foo кидаем указатель на неё, тогда при достаточном количестве полей, "упаковываемых" во внутреннюю структуру жаба может отступить
что-то типа такого:
-------------------- qqq |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |