Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Void F ( );



};

- Абстрактные классы предназначены для представления общих понятий, которые предстоит конкретизировать. На базе общих понятий строятся частные производные классы для описания конкретных объектов.

- Абстрактный класс может иметь явно определенный конструктор.

- Если все -таки предстоит создавать самостоятельные объекты базового класса, то исходные виртуальные функции следует определять не как чистую, а как пустую.

Рассмотрим программу, в которой на основе базового класса 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...