为了让Dog类的构造函数能正确地调用其父类Animal的构造⽅法,横线线处应填入( )。
class Animal{
public:
std::string name;
Animal(std::string str):name(str){
std::cout<<"Animal created\n";
}
virtual void speak(){
cout<<"Animal speaks"<< endl;
}
};
class Dog :public Animal{
std::string breed;
public:
Dog(std::string name, std::string b) :_______________,breed(b){
std::cout<< "Dog created\n";
}
void speak()override {
cout<<"Dog barks"<< endl;
}
};
int main(){
Animal* p= new Dog("Rex","Labrador");
p->speak();
delete p;
return 0;
}
Animal(name)
super(name)
Animal::Animal(name)
Animal()