Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
};
- Абстрактные классы предназначены для представления общих понятий, которые предстоит конкретизировать. На базе общих понятий строятся частные производные классы для описания конкретных объектов.
- Абстрактный класс может иметь явно определенный конструктор.
- Если все -таки предстоит создавать самостоятельные объекты базового класса, то исходные виртуальные функции следует определять не как чистую, а как пустую.
Рассмотрим программу, в которой на основе базового класса point построен абстрактный класс figure.
В классе figure определены конструктор и чистая виртуальная функция для вывода изображения фигуры на экран show().
Однако реальное выполнение show() возможно только после создания производного класса, в котором чистая виртуальная функция будет заменена компонентной функцией show() для конкретной фигуры.
Кроме того, класс figure включает еще функции hide() – для удаления изображениефигуры и move() – для передвижения фигуры. Обе функции вызывают в своем теле чистую виртуальную функцию show().
// figure.cpp
#include “point.cpp”
class figure: public point {
public:
figure (point p): point (p. GetX(), p. GetY ()) { } // конструктор
virtual void show () =0; // функция для определения в производных классах
Дата публикования: 2014-11-28; Прочитано: 227 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!