Хелпикс

Главная

Контакты

Случайная статья





3 Абстрактные классы. 4 Множественное наследование. Пример.. 5 Виртуальные базовые классы. Пример.



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;

}

 

 

Итог

На основе полученного опыта доработать имеющиеся и/или разработать новые классы и внедрить в проект(использовать материалы курсового проекта).

В отчете привести программный код всех разработанных классов.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.