Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Class Item

{

public:

virtual void cut ();

virtual void move (Length deltax, Length deltay)=0;

virtual Boolean pick (Length px; Length py)=0;

virtual void ungroup ()=0;

};

class Shape: public Item

{

protected:

Length x;

Length y;

public:

void cut ();

void draw () {write (COLOR_FOREGROUND);};

void erase () {write (COLOR_BACKGROUND);};

Boolean pick (Length px; Length py);

void ungroup () {};

virtual void write (Color color)=0;

};

class Box: public Shape

protected:

Length width;

Length height;

public:

Box (Length x0, Length y0, Length width0, Length height0);

Boolean pick (Length px; Length py);

void write (color color);

};

class Circle: public Shape

{

protected:

Length radius

public:

Circle (Length x0, Length y0, Length radius0);

Boolean pick (Length px; Length py);

void write (Сolor color);

};

Члени суперкласу (атрибути та операції) успадковуються його підкласами (члени, які визначені в суперкласі, належать всім його підкласам). Члени суперкласу, визначені в ньому як private, недоступні для операцій його підкласів. Для операцій підкласів доступні члени суперкласу, визначені в ньому як protected та public. Методи, визначені в суперкласі, можуть бути перевизначені у (деяких) його підкласах, якщо вони визначені як віртуальні (virtual). Наприклад, метод write класу Shape може бути перевизначений в його підкласах Box та Circle, тому він визначений як віртуальний. Методи в підкласах не перевизначаються, тому їх можна не оголошувати як віртуальні. Якщо у визначенні віртуального методу вказана його «ініціалізація» до 0 (virtual void write (Color color) = 0;), то він обов’язково повинен бути перевизначений у кожному його підкласі (такий метод називається абстрактним). Клас, який містить у собі хоча б один абстрактний метод, також називається абстрактним. Для абстрактних класів не можна породжувати об’єкти (об’єкти визначені лише для його підкласів). Якщо всі методи класу визначені як абстрактні, то говорять, що такий (абстрактний) клас визначає інтерфейс, реалізовуваний у його підкласах.

У мові С++ підтримується множинне успадкування: кожний клас може мати один чи кілька суперкласів.




Переглядів: 231

<== попередня сторінка | наступна сторінка ==>
Виклик операцій | Реалізація залежностей

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.