题目:

代码:
#include <iostream>
using namespace std;
class Animals
{
private:
    string name;
public:
    Animals(){}
    Animals(string name):name(name)
    {}
    virtual void perform() = 0;
    void show()
    {
        cout << "这个动物是" << name << endl;
    }
};
class Kind:public Animals
{
private:
    string habit;
public:
    Kind(){}
    Kind(string name,string habit):Animals(name),habit(habit)
    {}
    void perform()
    {
        Animals::show();
        cout << "它是" << habit << endl;
    }
};
int main()
{
    Animals *p = nullptr;
    Kind lion("狮子","食肉目猫科豹属的大型猛兽。成年雄狮的体重要比母狮重,外形上也更大,并且雄狮具有很长的鬣毛。被称为百兽之王");
    p = &lion;
    lion.perform();
    Animals *q = nullptr;
    Kind panda("熊猫","杂食性动物,大熊猫已在地球上生存了至少800万年,被誉为“活化石”和“中国国宝”,世界自然基金会的形象大使,是世界生物多样性保护的旗舰物种。");
    q = &panda;
    panda.perform();
    return 0;
}
 
效果图:

思维导图:



















