违法和不良信息举报 客服热线:400-111-9811

2019上半年软考程序员下午真题(六)

程序员 责任编辑:胡媛 2019-05-29
摘要:希赛网软考频道小编为大家整理了2019上半年软考程序员下午真题第六部分,供大家参考。

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

【说明】

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

1.jpg

问题内容:

【 C++代码 】

#include <iostream>

#include〈vector〉

#include〈string〉

using namespace std;

class PaymentMethod {

public: virtual void pay(int cents)=0;

};

// Cash、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->executeTransaction(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*> items; //包含物品的 vector

public:

void add(Item* item){ items.push_back(item); }

int getTotalPrice( ){ /*计算所有item的总价格,代码略*/}

void pay(PaymentMethod* paymentMethod) {//用指定的支付方式完成支付

(4)        (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(item2); //将物品添加到账单中

(5)        (new CreditCard("LI SI", "98765432101")); //信用卡支付

}

};

Intmain( ) {

(6)        = new PaymentSystem( );

payment->pay( );

return 0;

}


相关推荐:2019上半年程序员下午真题及答案

在线题库:程序员历年真题自测估分

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

通关方案

  • 在线辅导
  • 高效学习
  • 2020上半年系统集成项目管理工程师网络直播班(学海班)

    讲师:海滨 价格:3888 元
    全面精讲,覆盖核心考点,网络直播课堂讲解,课后录播,高效备考。
    立即报名
  • 2020年上半年信息系统项目管理师网络直播班(卓越班)

    讲师:左水林 价格:6188 元
    全面精讲,覆盖核心考点,网络直播课堂讲解,课后录播,高效备考。
    立即报名