| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > объявления класса без описания |
| Автор: Mongol 10.12.2009, 11:20 | ||
| Учебное задание. Нужно реализовать программу по http://en.wikipedia.org/wiki/Double_dispatch. Затруднения в том что при описании классов Starship нужно что бы были описаны классы Asteroid, и наоборот что бы описать Asteroid нужно что были описаны предварительно классы Starship. (подскажите как это по нормальному называется). Пробовал сначала только делать объявления(class AsteroidLevel1;), разбросать все по разным файлам в надежде на компоновщика, - ничего не помогает:
|
| Автор: djamshud 10.12.2009, 11:37 | ||
Forward declaration называется, емнип.
Можно разносить по разным файлам. Суть в том, что объект нельзя использовать, пока его класс не описан. Но с другой стороны его можно "упоминать" в ряде случаев. Например через указатель (как в примере), в качестве параметра или возвращаемого значения функции. В примере сначала описаны классы, а только потом реализованы их конструкторы, когда уже ничто не мешает полностью использовать объекты соседнего класса. |
| Автор: Mongol 10.12.2009, 12:37 |
| Спасибо. Проблема решена. |