抽象类Mammal有纯虚函数graze()。Mammal类派生出Cow类和Sheep类, Cow类扩展数据成员名称(字符串),Sheep类扩展数据成员名称(字符串)。声明一个Mammal类的对象,通过此对象调用graze函数。
int main()
{
string name;
cin >> name;
Cow cc(name);
cin >> name;
Sheep ss(name);
Mammal* pm;
pm = &cc;
pm->graze();
pm = &ss;
pm->graze();
return 0;
}
#include <iostream>
using namespace std;
#include <string>
class Mammal
{
public:
virtual void graze() = 0;
};
class Cow : public Mammal
{
private:
string name;
public:
virtual void graze() {cout<<name<<":哞"<<endl;}
Cow (string n) : name(n) {}
};
class Sheep : public Mammal
{
private:
string name;
public:
virtual void graze() {cout<<name<<":咩"<<endl;}
Sheep (string n) : name(n) {}
};
int main()
{
string name;
cin >> name;
Cow cc(name);
cin >> name;
Sheep ss(name);
Mammal* pm;
pm = &cc;
pm->graze();
pm = &ss;
pm->graze();
return 0;
}