|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.07.2011, 13:01 | #1 |
Пользователь
Регистрация: 13.09.2008
Сообщений: 24
|
Предварительное описание класса
Добрый день. Помогите пожалуйста решить проблему на картинке.
|
01.07.2011, 13:12 | #2 |
Пользователь
Регистрация: 12.06.2008
Сообщений: 76
|
Если я не ошибаюсь, то подобный трюк с предварителным объявлением сработает только в том случае, если у вас в MyClass хранится указатель на экземпляр класса SubmissionClass.
SubmissionClass *subClass; А иначе компилятору просто не достает информации о структуре класса SubMission. |
01.07.2011, 13:24 | #3 |
Форумчанин
Регистрация: 27.04.2009
Сообщений: 184
|
А почему не хотите избавится от Forward declatations поменяв структуры местами?
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
|
01.07.2011, 13:29 | #4 |
Пользователь
Регистрация: 12.06.2008
Сообщений: 76
|
Такое бывает, это как предпочтения сначало public описывать или наоборот private. Я раньше сам страдал подобными вещами )
|
01.07.2011, 13:29 | #5 |
Форумчанин
Регистрация: 27.04.2009
Сообщений: 184
|
Я точно сказать не могу !!! но по моему что бы определить размер MyClass (для выделения памяти) ему(компилятору) надо знать размер SubmissionClass !! В втором примере он неизвестен!!!
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
|
01.07.2011, 13:41 | #6 |
Пользователь
Регистрация: 12.06.2008
Сообщений: 76
|
Ну разумеется, я об этом и написал. Чтобы скопилировать MyClass ему не хватает информации о его структуре.
|
01.07.2011, 13:58 | #7 |
Форумчанин
Регистрация: 27.04.2009
Сообщений: 184
|
Dogmat Я с вами не спорю я просто постарался уточнить !
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
|
01.07.2011, 14:06 | #8 |
Пользователь
Регистрация: 12.06.2008
Сообщений: 76
|
А я тоже не спорю. Забавная у вас подпись)
|
01.07.2011, 14:29 | #9 | |
Пользователь
Регистрация: 13.09.2008
Сообщений: 24
|
Цитата:
Неужели нет, подходящего для данной ситуации, способа предварительного описания классов. |
|
01.07.2011, 14:36 | #10 |
Пользователь
Регистрация: 12.06.2008
Сообщений: 76
|
зачем вам хранить объект класса? храните указатель на объект класса SubmissionClass, а в конструкторе MyClass создавайте и инициализируйте этот объект (subClass). Ну или заводите на каждый класс отдельный заголовочник и подключайте #include-ом. Насчет 100 связанных между собой классов в одном заголовочнике никогда не задумывался, но сколько пишу разочарований по поводу порядка определения классов не испытывал. Часто их не так уж и много на один заголовочник.
Последний раз редактировалось Dogmat; 01.07.2011 в 14:43. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как добавит описание класса в *.h фаил? | RFbager | Общие вопросы C/C++ | 10 | 03.11.2010 10:37 |
описание класса | SvetaLee | Помощь студентам | 1 | 30.10.2010 23:27 |
описание класса в паскале | ai\ekcah^p | Помощь студентам | 0 | 14.03.2010 17:31 |
Описание класса. | frem-dag | Общие вопросы C/C++ | 4 | 11.01.2010 19:53 |