c 建構函式和析構函式

2021-09-07 02:25:24 字數 1174 閱讀 4629

一、特點構造

(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 編譯器會按照 位拷貝 的方式提供預設的建構函式 不初始化 預設的賦值建構函式 淺賦值 預設的拷貝建構函式 淺拷貝 預設的析構函式。位拷貝要小心指...