詳解派生類建構函式與析構函式

2022-06-28 23:00:19 字數 641 閱讀 6466

1.派生類建構函式:

派生類不能繼承基類的建構函式,必須自己定義建構函式進行新增資料成員初始化工作,如果想同時初始化基類資料成員,必須呼叫基類建構函式。

(1)簡單派生類建構函式:

1 #include 2 

3 #include 4

5 using namespace std;

6 7

8 9 class st1

10 11        

(b)基類沒有定義建構函式或者基類建構函式無參—呼叫基類預設建構函式

st2(int a, string add ){age = a; addr = add;cout<

(c)基類中過載了建構函式,既有有參的又有無參的,具體呼叫哪個視派生類構造函式引數個數而定。

2.派生類的析構函式【留坑---虛析構函式】:

(1).正如派生類不能繼承基類的建構函式,派生類也不能繼承基類的析構函式,派生類的清理工作由派生自身析構函式負責,基類的清理工作由基類析構函式負責。

(2).析構函式的呼叫順序正好和構造函式呼叫順序相反,即先呼叫派生類析構函式清理新增的成員,再呼叫子物件析構函式(基類析構函式)清理子物件,最後再呼叫基類析構函式清理基類成員。

**:

派生類的建構函式與析構函式

派生類的建構函式的定義形式為 派生類名 派生類名 引數總表 基類名1 引數名錶1 基類名2 引數名錶2 基類名n 引數名錶n 成員物件名1 成員物件引數名錶1 成員物件名m 成員物件引數名錶m 所列出的成員物件名全部為新增成員物件的名字 本例只是為了演示派生類的定義與使用,盡可能顧及最常用的各方面。...

派生類建構函式與析構函式的構造規則

1.派生類的建構函式可以不顯示式的寫出基類的建構函式。例如 third 此時,系統自動呼叫基類的無參建構函式 沒有,則為預設的建構函式 也可顯示式的指出呼叫基類的哪乙個建構函式。例如 third int x,int y,int z second x,y 2.要呼叫的基類建構函式的引數可在派生類的建構...

派生類的建構函式和析構函式

c 學習筆記和總結 這段時間看了c 中類的繼承和派生,這應該算是c 和c語言相比最主要的乙個知識點了。不得不說類的功能是十分強大的,它定義了public,protected,private三種訪問內部成員的訪問許可權,增加了程式的安全性和保護性。通過定義類的物件可以訪問類的成員,但是定義物件是外部訪...