软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2015年下半年程序员考试下午真题试题(案例分析)
考试中心《2015年下半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2015年下半年
试题题型【分析简答题】
试题内容

阅读以下说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如图5-1所示,相应的c++代码附后。

图5-1  类图
【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;
};
 
classBuyStock:         (1)  {
private:
     Stock* stock;
public:
     BuyStock(Stock* stock)   {      (2)   =    stock; }
     void  execute()   {    stock->buy () ;  }
};
//类SellStock的实现与BuyStock类似,此处略
 
class  Broker   {
private:
     vector < Order*>   orderList;
public:
     void  takeOrder(    (3)      order)   {  orderList.push_back(order);}   
 
     void  placeOrders()    {
         for (int i=0; i<orderList.size(); i++)  {      (4) -> 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;
}


相关试题

推荐文章
合作网站内容