談談C 建構函式和析構函式那些事兒

2021-10-04 19:43:14 字數 434 閱讀 3965

建構函式:在c++物件建立的時候,自動呼叫,一般用於物件的初始化。沒有返回型別,函式名與類名一致。

析構函式:用於在程式結束時自動銷毀物件,也可顯式呼叫銷毀。沒有返回型別,沒有引數,函式名為 ~ + 類名

c++中,建構函式和析構函式在每乙個類中都有預設實現,所以不定義建構函式和析構函式,也是可以正常執行的。

建構函式可以分為帶引數和不帶引數兩種(同名不同引數,即為過載)。簡單示例入以下:

#include using namespace std;

class base

void operator=(const base &b)

~base()

};int main()

談談建構函式的那些事

看過 c efficient 都應該明白以下幾點 1.最好有自己的拷貝建構函式 1.1 在函式引數為物件時,那麼在函式呼叫時,會呼叫拷貝構造生成乙個臨時物件 1.2 在函式返回值為乙個物件時,也會呼叫拷貝建構函式 1.3 拷貝建構函式一定要傳引用,如果穿乙個值,就會調拷貝構造,在乙個函式裡面,自己呼...

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...