#include <iostream>
using namespace std;
class Pet
{
public:
virtual void speak()//定义基类函数为虚函数
{
cout<<"How does a pet speak ?"<<endl;
}
};
class Dog:public Pet
{
public:
void speak()//调用基类函数并重定义
{
cout<<"wang!wang!"<<endl;
}
};
class Cat : public Pet
{
public:
void speak()
{
cout<<"miao!miao!"<<endl;
}
};
int main()
{
Pet p;
Cat c;
Dog d;
Pet *pt=&p;//定义指向基类的指针
pt->speak();
pt=&c;//将指针指向Cat类的函数
pt->speak();//调用Cat类的speak函数
pt=&d;//将指针指向Dog类
pt->speak();//调用Dog类的speak函数
return 0;
}
SDUT2679 6-1 多态性与虚函数
最新推荐文章于 2024-07-14 13:40:19 发布