

至少需要c++14,我改成了c++17
#include <iostream>
#include <memory>
using namespace std;
class Animal{
string family;
public:
Animal()=default;
explicit Animal(string family):family(family){};
virtual ~Animal()=default;
virtual void perform()=0;
string getFamily()const{
return family;
};
};
class Monkey:public Animal{
string name;
public:
Monkey()=default;
explicit Monkey(string family, string name):Animal(family),name(name){};
virtual ~Monkey()=default;
void perform() override final{
cout<<"This animal family is:"<<getFamily()<<endl;
cout<<"This animal name is:"<<name<<endl;
cout<<"beginning perform..."<<endl;
}
};
int main()
{
unique_ptr<Animal> animal= make_unique<Monkey>("灵长目","猴子");
animal->perform();
return 0;
}

8798

被折叠的 条评论
为什么被折叠?



