第21033题 单选
C++类继承代码中Dog构造函数初始列表横线处填Animal(name)后程序的执行结果是?
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 {
        std::cout << "Dog barks" << endl;
    }
};

int main() {
    Animal* p = new Dog("Rex", "Labrador");
    p->speak();
    delete p;
    return 0;
}
A

仅输出 Animal speaks

B

依次输出 Animal created、Dog created、Dog barks

C

编译错误

D

程序崩溃

提交0次 正确率0.00%
答案解析