#3845. [GESP202512 六级 C++] 第 2 题

[GESP202512 六级 C++] 第 2 题

执行如下代码,会输出 钢琴:叮咚叮咚吉他:咚咚当当。这体现了面向对象编程的( )特性。

class Instrument {
public:
    virtual void play() {
        cout << "乐器在演奏声音" << endl;
    }

    virtual ~Instrument() {}
};

class Piano : public Instrument {
public:
    void play() override {
        cout << "钢琴:叮咚叮咚" << endl;
    }
};

class Guitar : public Instrument {
public:
    void play() override {
        cout << "吉他:咚咚当当" << endl;
    }
};

int main() {
    Instrument* instruments[2];
    instruments[0] = new Piano();
    instruments[1] = new Guitar();

    for (int i = 0; i < 2; ++i) {
        instruments[i]->play();
    }

    for (int i = 0; i < 3; ++i) {
        delete instruments[i];
    }
    return 0;
}

{{ select(1) }}

  • 继承
  • 封装
  • 多态
  • 链接