//:Instrument.cpp #include<iostream> using namespace std; enum note{middleC,Csharp,Eflat}; class Instrument{ public: void play(note) const{ cout<<"Instrument play!"<<endl; } }; class Wind: public Instrument{ public: void play(note) const{ cout<<"Wind"<<endl; } }; void tune(Instrument& i){ i.play(middleC); } int main(){ Wind flute; tune(flute); }///:~
//:ploy2.cpp #include<iostream> using namespace std; enum note{middleC,Csharp,Eflat}; class Instrument{ public: virtual void play(note) const{ cout<<"Instrument play!"<<endl; } }; class Wind: public Instrument{ public: void play(note) const{ cout<<"Wind"<<endl; } }; void tune(Instrument& i){ i.play(middleC); } int main(){ Wind flute; tune(flute); }///:~
本文通过C++代码展示了如何定义一个基础的乐器类Instrument,并派生出Wind子类来实现不同乐器的演奏效果。通过虚函数实现多态,演示了如何根据不同类型的乐器对象调用相应的方法来模拟演奏。
270

被折叠的 条评论
为什么被折叠?



