閱讀以下說(shuō)明和 C++代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
在股票交易中,股票代理根據(jù)客戶發(fā)出的股票操作指示進(jìn)行股票的買賣操作。其類圖如圖5-1所示,相應(yīng)的c++代碼附后。
圖5-1 類圖
【C++代碼】
#include
#include
#include
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<<" [買進(jìn)]股票名稱: "<< name << ",數(shù)量: "<< quantity <<
endl;}
void sell() { cout<<" [賣出]股票名稱: " << name << ",數(shù)量:"<< quantity
<
};
class Order {
public:
virtual void execute() = 0;
};
classBuyStock: (1) {
private:
Stock* stock;
public:
BuyStock(Stock* stock) { (2) = stock; }
void execute() { stock->buy () ; }
};
//類SellStock的實(shí)現(xiàn)與BuyStock類似,此處略
class Broker {
private:
vector < Order*> orderList;
public:
void takeOrder( (3) order) { orderList.push_back(order);}
void placeOrders() {
for (int i=0; i execute () ; }
orderList.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-> (5) () ;
}
};
int main() {
StockCommand* stockCommand = new StockCommand();
stockCommand->main();
delete stockCommand;
}