第十二周程式閱讀5 基類和派生類的轉換

2021-07-02 22:11:48 字數 606 閱讀 8250

問題及**:

#include using namespace std;  

class a

void printa()

在main函式前增加一般函式:

void f(a x)  

{ cout<

main函式中指定部分為:

f(a);

f(b);

你認為輸出結果是:______________________

aaaaah,my a:1

aaaaah,my a:2

執行程式的結果是:______________________

知識點總結:

1,派生類物件向基類對向賦值,要捨棄派生類自己的成員。而基類物件無法向派生類物件賦值。引用同理

2,指向基類物件的指標變數可以指向派生類物件,但是也只能訪問從基類繼承的部分。

3,基類的成員函式無法呼叫派生類自己的成員。這點明確了基類和繼承類的關係。

TC PL第十二章 派生類

p278 多型性 從類employee的函式中取得 正確的 行為,而又不依賴於實際使用的到底是哪一種employee 我怎麼覺得是依賴的?不是明確宣告了m是manager嗎?那呼叫的肯定就是manager的print 啊 這就是所謂的多型性。乙個帶有虛函式的型別被稱為是乙個多型型別。要在c 裡取得多...

基類和派生類

include include using namespace std class animal class dog public animal class dog public animal這裡的 就是繼承或派生,class cat public animal class item base st...

基類和派生類 this

基類指標在程式執行的時候的確指向的是乙個派生類的物件,但指標的型別仍然是基類指標。c 是一種強型別語言,因此不能用基類指標型別的指標直接呼叫派生類 而且,同乙個類可能有多種不同的派生類,因此不知道實際指向的會是哪個派生類。如果確信是某個派生類的話,可以用這樣的方法來呼叫 cb this b 1 cb...