物件導向程式設計複習(一) 繼承 虛函式

2021-10-24 05:35:17 字數 1220 閱讀 5797

題目描述

普通會員類member,包含編號、姓名、積分三個屬性,編號和積分是整數,姓名是字串

操作包括構造、列印、積分累加、積分兌換,操作定義如下:

1、積分累加add,是根據消費金額累加積分,無返回值,引數是消費金額(整數),積分根據消費金額按1比1的比例累加

2、積分兌換exchange,是按照每100積分換1元的比例,把積分兌換成現金。引數是要兌換的積分數量,返回值是兌換的現金數量。

注意:兌換積分數量不足100的部分是不能兌換的,例如會員原有500積分,要兌換積分數量為450,則450/100=4,最終用400積分兌換4元,會員餘100積分。

3、列印是輸出會員資訊,格式參考輸出樣例

貴賓會員類vip,繼承了普通會員的屬性與操作,新增兩個屬性:累加比例(整數)、兌換比例(整數)。並且重定義了所有操作:

1、積分累加中,積分按累加比例進行累加。例如累加比例是2,消費金額100元,則累加積分=100*2=200

2、積分兌換中,按照兌換比例的數值把積分抵扣消費金額。例如兌換比例是90,會員原有500積分,要兌換積分數量為420,則420/90=4,最終用360積分兌換4元,會員餘140積分。

3、列印是輸出會員資訊,格式參考輸出樣例

程式要求

1、採用繼承機制實現上述會員關係

2、列印、積分累加和積分兌換都採用虛函式方式,來實現執行多型性

3、派生的建構函式必須考慮基類屬性的構造。

4、必須採用以下**框架,在提示的地方增加**,其他地方不能修改。

上述所有類屬性都不是public,用物件導向思想和c++語言實現上述要求

----參考**----

class member ;

class vip … ;

int main()

virtual void

add(

int x)

virtual int

exchange

(int x)

virtual void

print()

~member()

}; class vip:public member

virtual void

add(

int x)

virtual int

exchange

(int x)

virtual void

print()

~vip()

};intmain()

物件導向的複習 繼承

繼承 解決 的冗餘,實現多型,增加了 的擴充套件性,便於維護 繼承的特性 1.單根性 乙個子類只能有乙個父類 2.傳遞性 孫子繼承爺爺 3.子類能繼承父類的方法和屬性,不能繼承私有字段 4.子類呼叫父類的建構函式用使用關鍵字base 5.父類只能呼叫自己的成員,不能和使用子類的成員 6.子類之間也不...

物件導向程式設計 繼承

繼承是物件導向程式設計的主要特點之一。繼承,顧名思義就是子繼承父的所有。在面向程式設計中繼承的意思並沒變,子類繼承父類所擁有的屬性 方法。使用extends關鍵字使子類繼承父類,子類就可以自動復用父類的方法了 私有方法除外 並且繼承了父類的所有屬性。在子類例項化過程中子類的構造方法一定會去呼叫父類的...

物件導向程式設計 繼承

一 簡介 1 繼承是軟體復用的一種方式,通過繼承,可以吸收現有類的資料和行為來建立新類,並增添新的效能增類。2 派生類顯示繼承的基類稱為直接基類,經兩級或者多級類層次繼承的類稱為間接基類。3 繼承的方式 public private protected 4 派生類一般不能直接訪問基類的private...