1. Клас “фігура”: координати на шахівниці, колір. Метод – “хід” – в одному з двох напрямків.
2. Похідні: “шашка” (порядковий номер) і “дамка”, методи -“хід” і “удар”.
3. В похідних класах перевантажити бінарну функцію А/В як “А б’є В” і оператор перетворення типу (із “шашка” в “дамка”). Функцію “хід” перетворити на віртуальну.
Варіант 4.
1. Клас “прямокутник”: координати верхнього лівого і нижнього правого кутів, порядковий номер.
2. Похідні: “ромб” (довжина другої діагоналі) і коло (центр – перші дві координати, діаметр – діагональ прямокутника). В базовому і похідних класах визначити функцію draw().
3. Перевантажити унарні операції - - як зменшення на 1 розміру фігури, бінарну С=А+В – як дублювання в С об’єкта А із збільшенням діагоналі на розмір діагоналі В. Функцію draw() перетворити на віртуальну.
Варіант 5.
1. Клас “нота”: назва, октава, тривалість звучання.
2. Похідні: “звук”(частота) і “зображення”(координати на екрані лівого верхнього кута фрагменту нотного стану). В обох класах – порядковий номер ноти, визначити функцію output – для кожного класу з різною реалізацією.
3. В похідних класах перевантажити операції постфіксний ++ - для отримання наступної ноти, префіксний ++ - для збільшення тривалості звучання ноти вдвічі. Функцію output() перетворити на віртуальну.