题目
设计哺乳动物(Mammal)— 狗(Dog)— 哈巴狗(Pug)的继承关系,三个类都定义 Speak() 虚成员函数。设计外部函数 Talk()调用虚函数,参数为 Mammal 类引用,测试多态性。
代码
head.h
#include<iostream>
using namespace std;
class Mammal
{
public:
virtual void Speak(){cout << "哺乳动物"<<endl;}
};
class Dog: public Mammal
{
public:
virtual void Speak(){cout << "狗"<<endl;}
};
class Pug: public Mammal
{
public:
virtual void Speak(){cout << "哈巴狗"<<endl;}
};
main.cpp
#include<iostream>
#include"virtual.h"
using namespace std;
void Talk(Mammal& mm)
{
mm.Speak();
}
int main()
{
Mammal m;
Dog d;
Pug p;
Talk(m);
Talk(d);
Talk(p);
return 0;
}