代码如下:

#include <iostream>
using namespace std;

class Bird {
protected:
    int life;
public:
    Bird(int _life) : life(_life) {}
    virtual void makeSound() {}
    void show() {
        cout << "This bird's life is " << life << endl;
    }
};

class Cuckoo : public Bird {
public:
    Cuckoo() : Bird(2) {}
    void makeSound() {
        cout << "ku ku,ku-ku" << endl;
    }
};

int main() {
    Bird* b = new Cuckoo();
    b->show();
    b->makeSound();
    delete b;
    return 0;
}
使用c++编写一个表示鸟的类Bird包含一个保护成员intlife 表示鸟的寿命编写构造函数初始化life编写一个虚函数makeSound以及一一个非虚函数show输出鸟的寿命。从Bird派生出一个子类 Cuckoo布谷鸟 在构造函数中初始化life为2;改写makeSound函数输出发出的声音 ku kuku-ku。编写main函数生成子类的对象并使用父类指针调用子类的show0函数。

原文地址: https://www.cveoy.top/t/topic/hfSY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录