抽象类Mammal派生出Cow类和Sheep类

抽象类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;
        }