#3795. [GESP202506 六级 C++] 第 2 题

[GESP202506 六级 C++] 第 2 题

为了让 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;
}

{{ select(1) }}

  • Animal(name)
  • super(name)
  • Animal::Animal(name)
  • Animal()