关于以下代码,说法正确的是()。
class Instrument {
public:
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;
}
- A. 执行代码会输出两行,内容分别为:钢琴:叮咚叮咚 和 吉他:咚咚当当
- B. 执行代码会输出两行,内容分别为:乐器在演奏声音 和 乐器在演奏声音
- C. 代码编译出现错误
- D. 代码运行出现错误