刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

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

类图

[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;

    }

使用微信搜索喵呜刷题,轻松应对考试!

答案:

publicOrder
this->stock  或(*this).stock
Order*
orderList[i]  或  *(orderList+i)
placeOrders

解析:


本题考查了C++面向对象程序设计和类的继承、对象指针操作等知识。根据题目描述和给出的代码片段,我们可以按照以下思路进行解析和填空:

(1) BuyStock类需要继承一个类,根据题目描述和代码中的Order虚类,我们需要继承Order类,因此填空为public Order。

(2) 在BuyStock类的构造函数中,我们需要初始化一个指向Stock对象的指针stock。在C++中,我们可以使用this指针来引用当前对象的成员变量。因此填空为this->stock或(*this).stock。

(3) 在Broker类的takeOrder函数中,我们需要接收一个Order类型的指针作为参数,因为BuyStock和SellStock都是Order的子类,所以可以接受它们的实例作为参数。因此填空为Order*。

(4) 在Broker类的placeorders函数中,我们需要遍历orderList中的每个元素并调用其execute函数。在C++中,我们可以使用数组索引或指针的方式来访问向量中的元素。因此填空为orderList[i]或*(orderList+i)。

(5) 在StockCommand类的main函数中,我们需要调用Broker类的placeorders函数来执行所有的订单。因此填空为placeOrders。

创作类型:
原创

本文链接:阅读以下说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明]在股票交易中,股票代

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share