向基類建構函式傳遞引數的 兩種方法

2021-06-19 10:04:09 字數 874 閱讀 1875

1.如果沒有定義派生類的建構函式,那麼將預設執行基類的建構函式.

2.如果派生類要向基類傳遞引數,那麼必須在派生類裡定義乙個建構函式,該函式只起到向基類傳遞引數的作用

3.如果只需要呼叫基類的建構函式,不用向基類傳遞引數的話,那麼派生類不用定義建構函式

#include
#include using namespace std;

class father

void print()

~father() };

father::father(string a, int i)

class son : public father

};son :: son(string a, int i, int j)

void son::print1()

int main()

第二種方式:

#include #include using namespace std;

class father

void print()

~father() };

father::father(string a, int i)

class son : public father

};son :: son(string a, int i, int j)

:father(a, i) // 執行帶參的建構函式

void son::print1()

int main()

向基類建構函式傳遞引數

引言 繼承固然為我們節省了不少的時間和工序,但是由於子類是由基類派生出來的,因此我們在建立派生類的物件時,仍然需要對基類進行初始化。原因也不難理解,因為子類將基類的所有成員都繼承了過去,所以被繼承的成員也會出現在子類裡,那麼我們在構造乙個子類的物件時,就會難免呼叫基類的建構函式。在建立派生類的建構函...

命令列向Php傳遞引數的兩種方式

php中的getopt是用來接收引數時用的,用法舉例 paramtest.php options getopt a b c var dump options 命令列測試 bash 3.2 php paramtest.php a 1 b 2 c 3 array 3 bash 3.2 php param...

C 給函式傳遞引數的兩種方式

呼叫函式的時候,我們需要傳遞給函式引數。有兩種方式,一種是pass by value,另一種方式是pass by reference。二者是有區別的。所謂的pass by value 傳值 就是將變數拷貝乙份,效果是如果在函式內部對這個變數修改了,那麼這種修改並不會反映到函式外部。呼叫函式執行完畢後...