![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Cheese |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Здрасьте, такой дурацкий вопрос: как спроектировать программу, если по смыслу класс, описанный в заголовочном файле A.hpp требует класса, описанного в файле B.hpp, а класс, описанный в B.hpp требует класса из A.hpp? Гугл ответа не дал.
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
общее вынести в отдельный класс(возможно абстрактный), и подключать его в A и B.
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
или в h-никах предобъявить классы
плохо искал - http://stackoverflow.com/questions/346058/...es-organization -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Cheese |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Ещё какие-нибудь варианты есть? Потому что общего в файлах нет, абстрактный класс не вариант, а предопределения классов дают ошибки.
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
если всё правильно сделал ошибок быть не должно. показывай, что сделал и какие ошибки -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
||||
|
||||
disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: нет Всего: 3 |
Хочется верить, что в одном классе успользуются только указатели на другой, потому что если каждому надо знать о внутренностях другого - то 100% надо переделывать проект...
|
|||
|
||||
Cheese |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Содержание примерно следующее: есть класс "объект", который, понятно, описывает объекты, типа камней, деревьев и монстров. Есть класс "событие", который содержит некоторое действие и объект, его совершивший. Теперь я хочу добавить объектам память, то есть список событий, который они видели, потому и получаются взаимозависимости такие.
|
|||
|
||||
korian |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 2 Всего: 17 |
Не компилил, но идея должна быть понятна
|
|||
|
||||
Cheese |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Следующий код не работает, выдаёт ошибку "invalid use of incomplete type"
|
|||
|
||||
korian |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 2 Всего: 17 |
в
/* brain.cpp */ добавте #include <object.hpp> короче в хидерах - только declarations, а в cpp файлых, уже все должно быть известно, поэтому там инклуды. Это сообщение отредактировал(а) korian - 2.8.2012, 11:22 |
|||
|
||||
Cheese |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Спасибо большое, помогло ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Дежавю .. и вроде в тех же лицах.. Добавлено через 3 минуты и 53 секунды точно : http://forum.vingrad.ru/forum/topic-341740...2581/index.html повторяется.. даже не смотря на Это сообщение отредактировал(а) mes - 3.8.2012, 22:34 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |