程序员
为了更好的用户体验,并能正常使用所有功能,我们建议您使用 Chrome浏览器(点击下载>>)
资讯首页
直播课堂
视频课程
学习包
题库

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

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

  • 胡媛
  • 程序员
  • 2019-05-29
  • 程序员交流群: 635759753
摘要: 希赛网软考频道小编为大家整理了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上半年程序员下午真题及答案

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

  • 本文标题: 2019上半年软考程序员下午真题(六)
  • 本文链接:

精品课

  • 有效期:30天课时:5

    程序员

    一元精品课之程序员20分高频考点精讲

    价格 : ¥1.00元

    1.00元速领

距离2019-11-09 考试还有

  • 1
  • 8

题库

程序员
电子商务设计师
政策法规
考试大纲
考试报名
历年试题
信息安全工程师
软件评测师
系统规划与管理师
软件设计师
嵌入式系统设计师
软考英语
数据库系统工程师
网络工程师
网络管理员
网络规划设计师
系统分析师
系统集成项目管理工程师
系统架构设计师
信息处理技术员
信息系统管理工程师
信息系统监理师
信息系统项目管理师
信息系统运行管理员