首页 试题详情
问答题

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

正确答案:A (备注:此答案有误)

相似试题

  • 问答题

    试题六(共 15 分)阅读下列说明 C++代码填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下 C++代码实现一个简单的聊天室系统(ChatRoomSystem),多个用户 (User)可以向聊天室(ChatRoom)发送消息,聊天室将消息展示给所有用户。 类图如图 6-1 所表示。 【C++代码】#include<iostream>#include <string> using namespace std; class User {private:string name; public:User(string name){ (1) =name;}~User(){} void setName(string name) {this->name=name; } string getName(){return name;}void sendMessage(string message); }; class ChatRoom { . public:static void showMessage(User* user, string message) { cout<<[<<

    答案解析

  • 问答题

    阅读下列说明C++代码运行结果填补代码中的空缺,将解答填入答题纸的对应栏内。[说明]对部分乐器进行建模,其类图如下图所示,包括:乐器(Instrument)、管乐器(Wind)、打击乐器(Percussion)、弦乐器(Stringed)、木管乐器(Woodwind)、铜管乐器(Brass)。类图下面是实现上述设计的C++代码,其中音乐类(Music)使用各类乐器(Instrument)进行演奏调音等操作。using namespace std; enum Note(/*枚举各种音调*/ MIDDLE_C,C_SHARP,B_FLAT }; classInstrument{/*抽象基类,乐器*/ public: ______; //play函数接口 virtual voidadjust()=0; //adjust函数接口 }; class Wind ______{ public: void play(Note n) { cout<<Wind.play() <<n<<endl; } void a

    答案解析

  • 问答题

    第六题 阅读下列说明C++代码填补代码中的空缺,将解答填入答题纸的对应栏内。【说明 】以下C++代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物品(Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账,设计如图6-1所示类图。using namespace std;class Book;class Visitor {public: virtual void visit(Book* book)=0; //其它物品的visit方法};class Item {public:virtual void accept(Visitor* visitor)=0; virtual double getPrice()=0;};class Book (1){private: double price;public: Book (double price){ //访问本元素 (2); } void accept(Visi

    答案解析

  • 问答题

    试题六(共 15 分)阅读下列说明 C++代码填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下 C++代码实现一个简单客户关系管理系统(CrM)中通过工厂(Customerfactory)对象来创建客户(Customer)对象的功能。客户分为创建成功的客户(realCustomer)空客户(NullCustomer)。空客户对象是当不满足特定条件时创建或获取的对象。类间关系如图6-1 所示。【C++代码】#include<iostream>#include<string>using namespace std; class Customer{protected:string name;public:(1) boll isNil()=0;(2) string getName()=0;﹜; class realCustomer (3){public:realCustomer(string name){this->name=name;﹜bool isNil(){ return false;﹜string getName(){ return name;﹜﹜; class Nul

    答案解析

热门题库