91成人精品一区在线播放,成人毛片在线播放器,国产精品剧情av,日韩尤物在线,亚洲麻豆视频,岛国免费在线,亚洲a欧美

軟題庫 移動APP 掃碼下載APP 隨時隨地移動學(xué)習(xí) 培訓(xùn)課程
試卷名稱 2014年上半年程序員考試下午真題試題(案例分析)
考試中心《2014年上半年程序員考試下午真題試題(案例分析)》在線考試
試卷年份2014年上半年
試題題型【分析簡答題】
試題內(nèi)容

閱讀下列說明、C++代碼和運行結(jié)果,填補代碼中的空缺(1)~(5),將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
    對部分樂器進行建模,其類圖如圖5-1所示,包括:樂器(Instrument)、管樂器(Wind)、打擊樂器(Percussion)、弦樂器(Stringed)、木管樂器(Woodwind)、銅管樂器(Brass)。
   

圖5-1  類圖
    下面是實現(xiàn)上述設(shè)計的C++代碼,其中音樂類(Music)使用各類樂器(Instrument)進行演奏和調(diào)音等操作。
【C++代碼】
#include<iostream>
using namespace std;
enum Note { /* 枚舉各種音調(diào) */
    MIDDLE_C, C_SHARP, B_FLAT
};
class Instrument{ /* 抽象基類,樂器 */
public:
     (1) ;    //play函數(shù)接口
    virtual void adjust()=0;    //adjust函數(shù)接口
};
class Wind  (2)   {
public:
    void play(Note n)  {  cout<<"Wind.play()"<<n<<end1;  }
    void adjust()  {  cout<<"Wind.adjust()"<<end1;  }
};
/* 類Percussion和Stringed實現(xiàn)代碼略 */
class Brass  (3)   {
public:
    void play(Note n) {  cout<<"Brass.play()"<<n<<end1;  }
    void adjust()  {  cout<<"Brass.adjust ()"<<end1;  }
};
class Woodwind : public Wind {
public:
    void play(Note n) {  cout<<"Woodwind.play()"<<n<<end1;  }
};
class Music {
public:
    void tune(Instrument* i) {  i->play(MIDDLE_C);  }
    void adjust(Instrument* i) {  i->adjust();  }
    void tuneAll(  (4)  e[], int numIns)  {    /* 為每個樂器定調(diào) */
        for( int i=0; i<numlns; i++)  {
            this->tune(e[i]);
            this->adjust(e[i]);
        }
    }
};
/* 使用模板定義一個函數(shù)size,該函數(shù)將返回數(shù)組array的元素個數(shù),實現(xiàn)代碼略 */
int main() {
    Music* music=   (5)  Music();
    Instrument* orchestra[]={  new Wind(), new Woodwind()  };
    music->tuneAll(orchestra, size(orchestra));  /* size返回數(shù)組orchestra的元素個數(shù) */
    for (int i=0;  i<size (orchestra), i++)
        delete orchestra[i];
    delete music;
}
本程序運行后的輸出結(jié)果為:
Wind.play()  0
Wind.adjust()
Woodwind.play() 0
Wind.adjust()


相關(guān)試題

推薦文章
合作網(wǎng)站內(nèi)容