Форум программистов, компьютерный форум CyberForum.ru

Указатель на потомка в базовом классе. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
RealDreamy
0 / 0 / 0
Регистрация: 20.02.2010
Сообщений: 29
08.03.2010, 13:20     Указатель на потомка в базовом классе. #1
Мне нужно создать в базовом классе массив указателей на потомки этого класса. Помогите - как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2010, 13:20     Указатель на потомка в базовом классе.
Посмотрите здесь:

Создать массив в базовом абстрактном классе, и его передать функциям производных классов C++
C++ базовый и производный класс, в базовом объявлена переменная "protected", она недоступна по имени в производном классе! template <class T> воду мутит!
C++ Матрица в классе, указатель на матрицу.
Указатели в базовом классе на базовый класс и производный класс C++
Как избежать не нужной пустой реализации виртуальных методов в базовом классе? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Norby
 Аватар для Norby
64 / 64 / 2
Регистрация: 12.03.2008
Сообщений: 392
08.03.2010, 13:24     Указатель на потомка в базовом классе. #2
Попробуй предописать класс. А потом ниже в самом объявлении класса создавать массив.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
08.03.2010, 13:25     Указатель на потомка в базовом классе. #3
А зачем тебе указывать именно на потомков? Нет, ну если уж совсем приспичило, можно просто предварительно объявить:
C++
1
2
3
4
5
6
class Derived;
class Base {
    Derived *d[20];
};
 
class Derived: public Base {};
Но вообще сам факт того, что у тебя возникла такая необходимость, обычно свидетельствует, что у тебя в замысле что-то пошло серьёзно наперекосяк.
RealDreamy
0 / 0 / 0
Регистрация: 20.02.2010
Сообщений: 29
08.03.2010, 13:39  [ТС]     Указатель на потомка в базовом классе. #4
Спасибо за помощь, работает.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
08.03.2010, 15:59     Указатель на потомка в базовом классе. #5
RealDreamy, ознакомьтесь с понятием полиморфизм. Вам незачем создавать массив указателей на потомков, вам достаточно всего лишь создать массив указателей на базовый класс
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
08.03.2010, 18:07     Указатель на потомка в базовом классе. #6
...и не забыть про виртуальные функции
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2010, 06:11     Указатель на потомка в базовом классе.
Еще ссылки по теме:

C++ Перегрузить операцию сложения в базовом классе, который имеет два наследника
C++ Вызов специфических для потомка функций, не зная класса потомка
C++ В базовом классе вводится символьный массив, а в производном - проверка на максимальную длину строки

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
RealDreamy
0 / 0 / 0
Регистрация: 20.02.2010
Сообщений: 29
18.03.2010, 06:11  [ТС]     Указатель на потомка в базовом классе. #7
Цитата Сообщение от M128K145 Посмотреть сообщение
RealDreamy, ознакомьтесь с понятием полиморфизм. Вам незачем создавать массив указателей на потомков, вам достаточно всего лишь создать массив указателей на базовый класс
Но ведь в потомках есть поля, которых нет в базовом классе. О виртуальных функциях посмотрю, не припомню, что это такое)
Я просто раньше не прогал на ООП, и вообще серьезных программ не писал. Сейчас пишу меню, в котором может быть неограниченное количество подменю любого уровня вложенности, что бы можно было убравлять мышой, и возможность использования сочетания клавиш. В общем полноценное продуманное меню хочу сделать, чисто ради интереса и опыта. Для удобства сделал класс Menu, и два потомка MainMenu и PodMenu, так как они существенно отличаются по прорисовке, ну и еще несколько особенностей. Вот и понадобилось что бы и в главном меню, и в подменю были ссылки на другие подменю.
Yandex
Объявления
18.03.2010, 06:11     Указатель на потомка в базовом классе.
Ответ Создать тему
Опции темы

Текущее время: 08:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru