Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Виртуальные функции в С++ / exampl2
.cpp/* Виртуальная функция при наследовании сохраняет свою виртуальную природу
*/
#include <iostream>
using namespace std;
class base {
public:
virtual void func()
{
cout << "Выполнение функции func() базового класса \n";
}
};
class derived1 : public base {
public:
void func()
{
cout << "Выполнение функции func() класса derived1\n";
}
};
// Класс derived1 наследуется классом derived2
class derived2 : public derived1 {
public:
void func()
{
cout << " Выполнение функции func() класса derived2\n";
}
};
int main()
{
base *p;
base ob;
derived1 d_ob1;
derived2 d_ob2;
p = &ob;
p->func(); // функция func() базового класса
p = &d_ob1;
p->func(); // функция func() производного класса derived1
p = &d_ob2;
p->func(); // функция func() производного класса derived2
return 0;
}
Соседние файлы в папке Виртуальные функции в С++