Тема: успадкування, атрибути доступу та віртуальні функції
Варіант 1
Створити абстрактний клас для роботи з геометричними фігурами на екрані. Передбачити такі компоненти-властивості класу:
- координати центра фігури;
- кут повороту (у градусах);
- масштабний фактор;
і такі функції-методи:
- показати фігуру на екрані;
- зробити фігуру невидною (знищити її зображення);
- повернути фігуру на заданий кут (кут надається у градусах);
- пересунути фігуру на наданий вектор.
Застосовуючи успадкування і наведений вище абстрактний клас створити похідний клас для роботи з фігурою типу "трикутник". Визначити інтерфейсну частину у класах, застосувати атрибути доступу.
Варіант 2
Застосовуючи успадкування і наведений у завданні 7.1 абстрактний клас створити клас для роботи з фігурою типу "чотирикутник".
Варіант 3
Застосовуючи успадкування і наведений у завданні 7.1 абстрактний клас створити клас для роботи з фігурою типу "правильний n-кутник".
Варіант 4
Застосовуючи успадкування і наведений у завданні 7.1 абстрактний клас створити клас для роботи з фігурою типу "еліпс".
Варіант 5
Наданий такий клас:
class Base { public:
virtual void myname() { cout << "This is class Base" << endl; } };
а. Від цього класу треба створити два похідних класу: DerA і DerB.
б. Від класів DerA і DerB шляхом множинного успадкування створити клас DerAB.
в. Переозначити у кожному з створених класів функцію myname таким чином, щоб вона виводила на екран дійсне ім’я класу об’єкту, для якого вона викликається.
г. Для кожного з класів створеної ієрархії створити по одному об’єкту і для кожного з них викличте функцію myname.
д. Створіть масив із 4 покажчиків на базовий клас ієрархії. Для кожного з них створіть динамічний об’єкт, по одному для кожного з класів ієрархії. Запишіть виклик функції myname для кожного з динамічних об’єктів за допомогою покажчиків.
є. Поясніть дію функції mymain у всіх випадках.
Варіант 6
У файлах 7_05_a.cpp, 7_05_b.cpp, 7_05_c.cpp (див. Додаток Б) розміщені приклади програм, які ілюструють застосування класів для створення ефектів анімації. Розібратися як ці програми діють, виконати їх компіляцію, подивитися, як вони працюють.