![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Доброе время суток.
Такая проблема: при объявлении класса используются типы других классов - когда код был ещё небольшим можно было просто-напросто переместить код объявления нужного класса (всё происходит в одном .h-файле) выше определяемого класса, но когда классы уже переплетены между собой и почти каждый имеет в себе типы других классов, то это сделать уже сложнее. Так вот, подскажите, пожалуйста, как в объевлении класса использовать классы, которые объявлены "ниже", за исключении возможности определения класса в другом файле (в таком случае придётся возиться с десятками файлов! |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
По-любому надо будет перелопачивать все так, чтобы все по порядку объявлялось
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
Это сообщение отредактировал(а) Alek86 - 5.6.2008, 10:58 |
|||
|
||||
| KaraKum |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Я немного неправильно выразился: я имел в виду использовать классы, которые ещё не объявлены. По этому примеру получается так, что нужно в объявлении класса C1 ипользовать тип класса C2. |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
реализацию выноси в cpp, в которые подключай .h
в хедерах используй предобъявление класса (forward declaration) как показал Алек86 Добавлено через 2 минуты и 40 секунд ну так объяви заранее - всего одна строчка из двух слов П.С.кстати объявление и описание класса - два разных понятия |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
невозможно в определении можно, но не в объявлении |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Поместил вначале .h-файла строку с объявлением класса и всё заработало
Спасибо за помощь. Вопрос отмечен как решённый. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |