✏️ 纠错
第 178 题 / 共 226 题
第2 题 2为了让Dog 类的构造函数能正确地调用其父类Animal 的构造方法,横线线处应填入( )。
#include <iostream>
#include <string>
using namespace std;

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;
}
📝 题目解析

【答案】A

【考纲知识点】类的创建知识

【详细解析】Animal是父类,父类的构造函数里有参数,子类调用的过程中需要传参。C++中没有super关键字。