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

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 < 2; ++i) {      delete instruments[i];   }   return 0;}
填写答案