|
|||
3 Абстрактные классы. 4 Множественное наследование. Пример.. 5 Виртуальные базовые классы. Пример. ⇐ ПредыдущаяСтр 2 из 2 3 Абстрактные классы Определить один из методов базового класса как чисто виртуальный. Попробовать создать объект абстрактного класса. Попробовать объявить новый производный класс, не переопределив чисто виртуальный метод базового класса, и создать объект производного класса. Зафиксировать и объяснить сообщения компилятора. 4 Множественное наследование Проверить на практике конфликт имен при множественном наследовании и его разрешение через расширение области видимости. Пример.
class A1 { public: int a; void Func() {} };
class A2 { public: int a; void Func() {} };
class B: public A1, public A2 { ... }; void test() { B b; b. a = 5; b. Func(); b. A1:: a = 6; b. A1:: Func(); b. A2:: a = 7; b. A2:: Func(); } 5 Виртуальные базовые классы Проверить на практике кратность создания объектов базовых классов при наследовании с виртуальными базовыми классами и без. Пример.
class A { public: A() { ShowMessage(”Конструктор класса А”); } }
class B: virtual public A { public: B() { ShowMessage(”Конструктор класса B”); } }
class C: virtual public A { public: C() { ShowMessage(”Конструктор класса C”); } }
class D: public B, public C { }
void test() { D d; }
Итог На основе полученного опыта доработать имеющиеся и/или разработать новые классы и внедрить в проект(использовать материалы курсового проекта). В отчете привести программный код всех разработанных классов.
|
|||
|