函式的寫法 C 建構函式的三種寫法

2021-10-14 19:15:12 字數 1312 閱讀 1108

c++的建構函式的作用:初始化類物件的資料成員。

即類的物件被建立的時候,編譯系統對該物件分配記憶體空間,並自動呼叫建構函式,完成類成員的初始化。

建構函式的特點:以類名作為函式名,無返回型別。

常見的建構函式有三種寫法:

c++的建構函式可以有多個,建立物件時編譯器會根據傳入的引數不同呼叫不同的建構函式。

如果建立乙個類,沒有寫任何建構函式,則系統會自動生成預設的無參建構函式,且此函式為空。

預設建構函式(default constructor)就是在沒有顯式提供初始化式時呼叫的建構函式。如果定義某個類的變數時沒有提供初始化時就會使用預設建構函式。
但只要有下面某一種建構函式,系統就不會再自動生成這樣乙個預設的建構函式。如果希望有乙個這樣的無參建構函式,則需要顯示地寫出來。

#include using namespace std;

class student

};

一般建構函式有兩種寫法:

#include using namespace std;

class student

// 內部賦值方式

student(int age, int score)

};

c++規定,物件的成員變數的初始化動作發生在進入建構函式本體之前。也就是說採用初始化列表的話,建構函式本體實際上不需要有任何操作,因此效率更高。

一般建構函式可以有多種引數形式,即乙個類可以有多個一般建構函式,前提是引數的個數或者型別不同(c++的函式過載機制)。

#include using namespace std;

class student

student(int age)

};

複製建構函式,也稱為拷貝建構函式。

複製構造函式引數為類物件本身的引用,根據乙個已存在的物件複製出乙個新的物件,一般在函式中會將已存在物件的資料成員的值複製乙份到新建立的物件中。

#include using namespace std;

class student

};

注意:若沒有顯示定義複製建構函式,則系統會預設建立乙個複製建構函式,當類中有指標成員時,由系統預設建立的複製建構函式會存在「淺拷貝」的風險,因此必須顯示定義複製建構函式。

建構函式的呼叫示例如下:

int main()

React內三種函式的寫法

寫法一 讓函式內部的this指向這個類的例項,它是用bind實現的,bind的第乙個引數表示context,就是this。寫法一class manageaddress extends react.component 切換位址型別,重新獲取位址列表 param key handlechangeaddr...

C 簡單建構函式的寫法

csdn主頁 建構函式定義 是一種特殊的方法 主要用來在建立物件時初始化物件,即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中 特別的乙個類可以有多個建構函式 可根據其引數個數的不同或引數型別的不同來區分它們 即建構函式的過載。class counter private 資料成員...

for迴圈的三種寫法

1 遍歷迴圈 for 迴圈變數型別 迴圈變數名稱 迴圈條件 更新語句 迴圈體 string arr for int i 0 i arr.length i 列印台abc d2 迭代器迴圈 string arr listlist arrays.aslist arr for iteratoriterato...