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

简答题

阅读以下说明和C++代码,将应填入(  )处的字句写在答题纸的对栏内。

 【说明】

 现如今线下支付系统可以使用现金(Cash)、移动支付、银行卡( Card)(信用卡( Creditcard)和储蓄卡( Debitcard))等多种支付方式( PaymentMethod)对物品(tem)账单(Bill)进行支付。图 5-1 是某支付系统的略类图。

【C++代码】

#include <iostream>
#include (vector)
#include(string)
using namespace std
class PaymentMethod t
public: virtual void pay(int cents)=0;
};
//class、DebitCard和item实现略,item中getprice( )获取当前物品对象的价格
class Card: public PaymentMethod {
 private: string name, num;
public
     Card(string name, string num)(this->name name; this->num num; }
     string toString ( ) {
         return this->getType( )+"card[name =”+name +" ,num ="+num+"]”; )
}
     void pay(int cents) {
         cout<<"Payed "<<cents <<"cents using"<<toString()<<end1;
         this->execute Transaction(cents);
 }
Protected:
     virtual string getType( )=0;
     virtual void (1) =0;
};
class Creditcard(2)  {
public.
     Creditcard(stringname, stringnum) ( 3)   {
     }
Protected:
string getType()( return"CREDIT":}
     void executeTransaction(int cents)(
         cout<<cents <<"paid using"<<getType( ) <<"Card. <<end1;
}
}
 
Class Bill{ //包含所有购买商品的账单
Private:
      vector< Item*>tems;∥包含物品的 vector
 Public:
      void add(Item" item items. push back(item):}
      int getTotalPrice ( ) { /*计算所有 item 的总价格,代码略”/}
       old pay( PaymentMethod* paymentMethod) {//用指定的支付方式完成支付
(1)  (getTotalPrice());
}
}
Class PaymentSystem
Public:
void pay( ){
        Bill" bill new Bill( );
        Item"item1= new Item"1234”, 10); Item*item2= new Item(“5678", 40);
        Bill_>add(item1);bill>add(tem2);∥将物品添加到账单中
(2) ( new CreditCard("LI SI","98765432101”);∥信用卡支付
}
};
Intmain( ) {
        (6) =new PaymentSystem( );
    payment->pay ( );
return 0;
}


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

答案:

(1)execute Transaction(int cents)

(2):public Card

(3): Card(name, num)

(4)paymentMethod->pay

(5)bill->pay

(6)PaymentSystem*payment

解析:

(1)在父类Card中声明了一个虚函数executeTransaction(int cents),用于执行支付操作。根据多态性,子类Creditcard需要实现这个函数。所以此处应填写executeTransaction(int cents)。

(2)根据类继承关系,CreditCard是Card类的子类,因此需要使用public继承。所以此处应填写public Card。

(3)在CreditCard类中,需要调用父类Card的构造函数来初始化name和num成员变量。因此此处应填写Card的构造函数,即Card(name, num)。

(4)在PaymentSystem类的pay方法中,需要使用传入的支付方式对象paymentMethod调用其pay方法来完成支付操作。所以此处应填写paymentMethod->pay。

(5)在Bill类中,有一个pay方法用于完成支付操作。因此此处应填写调用bill对象的pay方法,即bill->pay。

(6)在main函数中,需要创建PaymentSystem类的实例指针来进行支付操作。所以此处应填写PaymentSystem的指针变量名,即PaymentSystem* payment。

创作类型:
原创

本文链接:阅读以下说明和C++代码,将应填入(  )处的字句写在答题纸的对栏内。  【说明】  现如今线下支付

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

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

分享考题
share