题目


试题五

阅读以下说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏。

[说明]

在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如下图所示,相应的C++代码附后。

image.png

类图

[C++代码]

#include<iostream>

#include<string>

#include<vector>

using namespace std;

class Stock {

private:

string name; int quantity;

public:

Stock(string name,int quantity) {this->name=name; this->quantity

=quantity;}

void buy( ) {cout<<"[买进]股票名称:"<<name<<",数量:"<<quantity<<

endl;}

void sell( ) {cout<<"[卖出]股票名称:"<<name<<",数量:"<<quantity

<<endl;}

};

clasS order{

public:

virtual void execute( )=0;

};

class BuyStock:___( )___ {

private:

Stock* stock;

public:

BuyStock(Stock* stock){__( )____ =stock; }

void execute( ){ stock一>buy( ); }

};

//类SellStock的实现与BuyStock类似,此处略

class Broker{

private:

vector<Order*> orderList;

public:

void takeOrder(___( )___ order)( orderLiSt.push back(order);}

void placeorders( ) {

for(int i=0;i<orderList.Size( ); i++){___( )___ ->execute( );}

0rderLiSt.clear( );

}

};

class StockCommand{

public:

VOid main( ){

Stock* aStock=new Stock("股票A",10);

Stock*bStock=new Stock("股票B",20);

Order*buyStockOrder=new BuyStock(aStock);

Order* sellStockOrder=new SellStock(bStock);

Broker* broker=new Broker( );

broker->takeOrder(buyStockorder);

broker->takeOrder(sellStockOrder);

broker-> ___( )___ ( );

}

};

int main( ){

StockCommand* stockCommand=new StockCommand( );

StockCommand->main( );

delete StoCkCommand;

}

作答
本题暂不支持做答,请点击“解析“以对比解题思路
答案/解析
查看试卷及答案