3.(所有同学完成)要求:
设计抽象类:鸟类。虚函数为void fly();
派生类:麻雀类、鸽子类、乌鸦类。
在派生类中实现虚函数void fly(),函数内容输出鸟类名称+飞行。如麻雀类的fly函数内容为,输出如下字符串“麻雀飞行”;。
设计一个调用虚函数的函数,该函数的参数类型为鸟类的引用类型,并在主函数中调用该函数,主函数实参分别是一个麻雀类、鸽子类、乌鸦类对象。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class bird
{
public:
virtual void fly() = 0;
};
class maque :public bird
{
public:
virtual void fly()
{
cout << "麻雀飞不动" << endl;
};
};
class gezi :public bird
{
public:
virtual void fly()
{
cout << "鸽子飞不动" << endl;
};
};
class wuya :public bird
{
public:
virtual void fly()
{
cout << "乌鸦飞不动" << endl;
};
};
void fei(maque a, gezi b, wuya c)
{
bird *p;
p = &a;
p->fly();
p = &b;
p->fly();
p = &c;
p->fly();
}
int main()
{
maque a;
gezi b;
wuya c;
fei(a, b, c);
return 0;
}