虚函数:
通过父类的指针,指向子类的对象。调用虚函数时,调用子类的函数。
#include <iostream>
using namespace std;
class CDog
{
public:
// 声明虚函数
virtual void barking()
{
cout << "All dogs are barking!" << endl;
}
};
class CGolden : public CDog
{
public:
void barking()
{
cout << "Golden retrievers are barking!" << endl;
}
};
class CTibetan : public CDog
{
public:
void barking()
{
cout << "Tibetan mastiffs are barking!" << endl;
}
};
int main()
{
// 初始化子类
CGolden golden;
CTibetan tibetan;
// 父类指针指向子类
CDog* dog1 = &golden;
CDog* dog2 = &tibetan;
// 通过父类指针调用子类函数
dog1->barking();
dog2->barking();
return 0;
}