C 建構函式

2021-08-21 18:59:00 字數 1258 閱讀 5936

必須在建構函式初始化式裡進行初始化的資料成員有哪些

(1) 常量成員,因為常量只能初始化不能賦值,所以必須放在初始化列表裡面 

(2) 引用型別,引用必須在定義的時候初始化,並且不能重新賦值,所以也要寫在初始化列表裡面 

(3) 沒有預設建構函式的類型別,因為使用初始化列表可以不必呼叫預設建構函式來初始化,而是直接呼叫拷貝建構函式初始化

c++中的建構函式可以分為4類: 

(1)預設建構函式。以student類為例,預設建構函式的原型為 

student();//沒有引數 

(2)初始化建構函式 

student(int num,int age);//有引數 

(3)複製(拷貝)建構函式 

student(student&);//形參是本類物件的引用 

(4)轉換建構函式 

student(int r) ;//形參時其他型別變數,且只有乙個形參

預設建構函式和初始化建構函式在定義類的物件的時候,完成物件的初始化工作。

class student

//初始化建構函式

student(int n,int a):num(n),age(a){}

private:

int num;

int age;

};int main()

student  s2(1002,1008);

student s3(s2);//將物件s2複製給s3。注意複製和賦值的概念不同。

student s4;

s4=s2;//這種情況叫做賦值,自己體會吧

student(student &b)

轉換建構函式的作用是將某種型別的資料轉換為類的物件,當乙個建構函式只有乙個引數,而且該引數又不是本類的const引用時,這種建構函式稱為轉換建構函式。

class a

a reta()

};int main()

測試**:

class a

operator int()

};int main()

{ a a(2);

int b = a + 3;

a c = a + 4;

cout<

結果輸出5和6

C 建構函式 拷貝建構函式

建構函式 class base private int m var 建構函式無返回值型別,函式名和型別相同。拷貝建構函式傳遞引數為引用。1 class base2 7 拷貝建構函式 8 base base ref m var ref m var 9 11 private 12 intm var 13...

C 構造器(建構函式)

定義和作用 構造器是在構建類的 引用時 自動執行的方法。所以,每個類都必須至少要有乙個構造器。在訪問乙個類的時候,編譯器最先執行構造器中的 它與類同名,帶引數的構造器能夠獲取引數,但是與方法不同的是 構造器雖然也是一種 例項型別 即必須通過例項來進行呼叫,也可以稱之為引用型別 但是卻不能返回任何值 ...

C 建構函式

建構函式是一種特殊的成員函式,它主要用於為物件分配儲存空間,對資料成員進行初始化.1 建構函式的名字必須與類同名 2 建構函式沒有返回型別,它可以帶引數,也可以不帶引數 3 建構函式的主要作用是完成對類的初始化工作 4 在建立乙個類的新物件 使用new關鍵字 時,系統回自動呼叫給類的建構函式初始化新...