2019上半年軟考程序員下午真題(六)

程序員 責任編輯:胡媛 2019-05-29

添加老師微信

備考咨詢

加我微信

摘要:希賽網(wǎng)軟考頻道小編為大家整理了2019上半年軟考程序員下午真題第六部分,供大家參考。

6、閱讀下列說明和C++代碼,將應填入(n)處的字句寫在答題紙的對應欄內(nèi)。

【說明】

現(xiàn)如今線下支付系統(tǒng)可以使用現(xiàn)金(Cash)、移動支付、銀行卡(Card)(信用卡 (CreditCard)和儲蓄卡(DebitCard))等多種支付方式(PaymentMethod)對物品(Item) 賬單(Bill)進行支付。圖6-1是某支付系統(tǒng)的簡略類圖。

1.jpg

問題內(nèi)容:

【 C++代碼 】

#include <iostream>

#include〈vector〉

#include〈string〉

using namespace std;

class PaymentMethod {

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

};

// Cash、DebitCard和Item實現(xiàn)略,Item中g(shù)etPrice( )獲取當前物品對象的價格

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上半年程序員下午真題及答案

在線題庫:程序員歷年真題自測估分

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!