一、特點構造
(1)建構函式是乙個特殊的成員函式類,函式名和類名相同;
(2)建構函式的訪問屬性應該是公有(
public
)訪問屬性。
(3)建構函式的功能是對物件進行初始化。因此在建構函式中僅僅能對資料成員做初始化,這些資料成員一般為私有成員,在建構函式中一般不做初始化以外的事情;
(4)建構函式能夠在類內定義也能夠在類外定義;
(5)建構函式無函式返回型別。
注意:是什麼也不寫。也不可寫void;
(6)在程式執行時,當新的物件被建立。該物件所屬的類的建構函式自己主動被呼叫,在該物件生存期中也僅僅呼叫這一次。
(7)建構函式能夠過載。
類中能夠有多個建構函式。它們由不同的參數列區分,系統在自己主動呼叫時按一般函式過載的規則選乙個執行。
二、使用初始化表來實現對資料成員的初始化
初始化表的一般格式:
類名::
建構函式名
(引數列表
):初始化表
建構函式其它實現**
初始化表的格式:
物件成員1(
引數名或常量
)。物件成員
2(引數名或常量
),……物件成
員n(引數名或常量)
比如例1.4
定義的建構函式能夠改用下面形式:
cdate:: cdate(int y, int m,int d): year(y), month(m),day(d)
注意:這樣的寫法方便、簡潔。很多c++
程式猿喜歡用這樣的方式初始化全部的資料成員。除了建構函式能夠使用初始化表外,類的其它成員函式也能夠依據須要使用初始化表。
一、析構函式的作用
是乙個特殊類成員函式,它的作用與建構函式相反。
析構函式的作用是在物件生存期結束之前自己主動執行,做清理工作。
比如:乙個類可能在建構函式中分配資源,這些資源要在物件的生存期結束曾經釋放。釋放資源的工作就是自己主動呼叫類的析構函式完畢的。
二、析構函式的特點
(1)析構函式函式的名字特別,是類名加「
~」字元,表明它與建構函式相反。
(2)析構函式沒有引數,不能指定返回值型別。
(3)乙個類中僅僅能定義乙個析構函式。所以析構函式不能過載。
(4)在物件生命週期結束,自己主動呼叫析構函式系統。
C 建構函式和析構函式
1.建構函式是類的一種特殊方法,每次建立類的例項都會呼叫它。在建立乙個類的例項時,建構函式就像乙個方法一樣被呼叫,但不返回值。語法格式 訪問修飾符 類名 特性 1 其名字必須與類名相同,例如 public class myclass 2 不能被直接呼叫,必須通過new運算子來 呼叫。publiccl...
C 建構函式和析構函式
建構函式 class rectangel rectangel int l,int w 這是帶引數的建構函式,建構函式都是沒有返回值,並且和該類同名 int area 這是另一種形式的內聯函式,把宣告和定義寫在一起的也是內聯函式 private int length int width 析構函式 cl...
c 建構函式和析構函式
1.c 的建構函式有預設建構函式,一般的建構函式,賦值建構函式,拷貝建構函式 複製建構函式 強制型別轉化建構函式。2.如果沒有定義建構函式和析構函式,則c 編譯器會按照 位拷貝 的方式提供預設的建構函式 不初始化 預設的賦值建構函式 淺賦值 預設的拷貝建構函式 淺拷貝 預設的析構函式。位拷貝要小心指...