26 / 26 / 3
Регистрация: 05.03.2010
Сообщений: 170
|
|
1 | |
Абстрактный класс и его производные29.11.2010, 18:35. Показов 855. Ответов 1
Метки нет (Все метки)
Здравствуйте. Мне необходимо построить иерархию классов - базовый абстрактный и два производных. Оба производных класса имеют несколько одинаковых свойств и один одинаковый метод.
Вопросы: В каком из классов описать эти свойства и методы - в базовом или в обоих производных? Есть необходимость использовать инициализацию классов через конструкторы - надо ли в базовом классе описывать конструктор? Если да, то примерно как? Заранее спасибо за помощь.
0
|
29.11.2010, 18:35 | |
Ответы с готовыми решениями:
1
Абстрактный класс.производные функции Создать абстрактный базовый класс и производные Создать абстрактный базовый класс Figure и производные классы Rectangle, Circle Создать класс - данные - абстрактный базовый класс. Создать производные классы |
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
29.11.2010, 18:53 | 2 |
Свойства можно описать в базовом классе только в том случае, если они обязательно должны присутствовать во всех производных классах. Поскольку базовый класс абстрактный, метод в нём должен быть объявлен (но не определён) как чистый виртуальный. В потомках этот метод необходимо заново объявить и определить.
Если данные объявлены в базовом классе, то и инициализировать их надо в конструкторе базового класса. В противном случае конструктор ему не нужен. Что до "как" - то как обычно, списком инициализации.
1
|
29.11.2010, 18:53 | |
29.11.2010, 18:53 | |
Помогаю со студенческими работами здесь
2
Создать иерархию классов: абстрактный базовый класс Array и производные классы AndArray и OnArray Объясните как объявить абстрактный класс, и при этом не тащить виртуальные методы в производные классы Создать абстрактный класс с виртуальной функцией вычисления нормы и модуля; определить производные классы с собственными функциями Создать абстрактный базовый класс Animal и производные классы Rooster, Goose, Turkey, Duck, Goat, Ram, Cow, Horse Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |