繼承 基類和派生類

2021-09-29 03:27:34 字數 749 閱讀 2552

/*說明派生類的生成和使用*/

#include

using

namespace std;

class

test1

//基類

test1

(int a):x

(a)void

disp()

};class

test2

:public test1//派生類

test2

(int a,

int b)

:test1

(a)void

disp()

};intmain()

result:

x=10

y=20

說明:

(1)在派生類中可以直接使用基類的publicprotected成員,但是無法訪問private成員。

(2)在派生類的建構函式中可以使用基類的建構函式。在派生類的建構函式中,對基類的資料成員進行初始化。

呼叫的順序是:先呼叫基類的建構函式初始化基類的資料成員,如果沒有給出基類資料成員的初始化,則自動呼叫基類的預設建構函式初始化基類。

(3)在派生類的建構函式和成員函式中,可以呼叫基類中非private的成員函式。

(4)如果基類和派生類中有同名函式,需要作用域限定符加以區分。

繼承 基類和派生類指標

1,直接用基類指標引用基類物件 2,直接用派生類指標引用派生類物件 3,用基類指標引用乙個派生類物件,由於派生類物件也是基類的物件,所以這種引用是安全的,但是只能引用基類成員。若試圖通過基類指標引用那些只在派生類中才有的成員,編譯器會報告語法錯誤。解決該問題的答案是虛函式和多型性 4,用派生類指標引...

基類和派生類

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...