阅读下列说明、C++代码和运行结果,填补代码中的空缺,将解答填入答题纸的对应栏内。 [说明] 对部分乐器进行建模,其类图如下图所示,包括:乐器(Instrument)、管乐器(Wind)、打击乐器(Percussion)、弦乐器(Stringed)、木管乐器(Woodwind)、铜管乐器(Brass)。

欢迎免费使用小程序搜题/刷题/查看解析,提升学历,成考自考报名,论文代写、论文查重请加客服微信skr-web

阅读下列说明、C++代码和运行结果,填补代码中的空缺,将解答填入答题纸的对应栏内。 [说明] 对部分乐器进行建模,其类图如下图所示,包括:乐器(Instrument)、管乐器(Wind)、打击乐器(Percussion)、弦乐器(Stringed)、木管乐器(Woodwind)、铜管乐器(Brass)。 类图 下面是实现上述设计的C++代码,其中音乐类(Music)使用各类乐器(Instrument)进行演奏和调音等操作。 usingnamespacestd;enumNote(/*枚举各种音调*/MIDDLE_C,C_SHARP,B_FLAT};classInstrument{/*抽象基类,乐器*/public:______;//play函数接口virtualvoidadjust()=0;//adjust函数接口};classWind______{public:voidplay(Noten){cout<<"Wind.play()"<<n<<endl;}voidadjust(){cout<<"Wind.adjust()"<<endl;});/*类Percussion和Stringed实现代码略*/classBrass______{public:voidplay(Noten){cout<<"Brass.play()"<<n<<endl;}voidadjUSt(){cout<<"Brass.adjust()"<<endl;)};classWoodwind:publicWind{public:voidplay(Noten){cout<<"Woodwind.play()"<<n<<endl;}};classMusiC{public:voidtune(Instrument*i){i->play(MIDDLE_C.;}voidadjust(Instrument*i){i->adjust();}voidtuneAll(______e[],intnumIns){/*为每个乐器定调*/for(inti=0;i<numIns;i++){this->tune(e[i]);this->adjust(e[i]);}}};/*使用模板定义一个函数size,该函数将返回数组array的元素个数,实现代码略*/intmain(){Music*music=______Music();Instrument*orchestra[]={newWind(),newWoodwind()};music->tuneAll(orchestra,size(orchestra));/*size返回数组orchestra的元素个数*/for(inti=0;i<size(orchestra);i++)deleteorchestra[i];deletemusic;} 本程序运行后的输出结果为: Wind.play()0Wind.adjust()Woodwind.play()0Wind.adjust()

virtual void play(Noten)=0 :public Instrument :public Wind Instrument* new

访客
邮箱
网址

通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作


  • 自动写文案
  • 自动写小说
  • 马上扫码让Ai帮你完成工作
通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作

  • 自动写论文
  • 自动写软件
  • 我不是人,但是我比人更聪明,我是强大的Ai
Top