C 建構函式 拷貝構造 析構函式

2021-08-25 02:19:25 字數 862 閱讀 8838

建構函式(constructor):在例項物件時,系統自動呼叫,用來初始化物件的資料成員

建構函式宣告語法:

類名(引數列表);

建構函式注意點:

#include #include using namespace std;

class computer

//上面的建構函式也可以寫成引數列表初始化的形式

computer(int _hz=123,int _mem=1024):cpu_hz(_hz),memory(_mem)

void printcomputer()

a(int _a)

//引用型別的引數

a(const a& obj)

/*//淺拷貝

a(const a& obj) }

~a()//析構函式

}private:

int *p;

};int main(int argc, char const *argv)

3.析構函式

定義析構函式:

~類名()

析構函式定義注意點:

如果沒有物件釋放,系統不會呼叫析構函式

物件構造與析構順序:

先構造的最後析構

#include  #include  using namespace std;

class a

//定義析構函式

~a()

private:

int *p;

};void fun()

}int main(int argc, char const *argv)

C 建構函式 析構函式 拷貝建構函式

建構函式 析構函式 拷貝建構函式 如果類成員變數有初始值,用這些初始值初始化成員變數 如果類成員變數沒有初始值,則預設初始化該成員變數 class student int main 使用注意事項 語法 這個預設建構函式之所以對student有效,是因為我們為內建型別的資料成員提供了初始值 如果你的編...

建構函式 拷貝建構函式 析構函式

1.如果定義了兩個預設建構函式,vc只回給出warning.2.如果有預設引數的預設構造,如果你給了第乙個預設的話 所有傳遞引數都要有預設植 否則報錯.不過如果是第乙個引數的預設值沒有給出的話,編譯器卻看不出問題,但是沒有 試過這種情況建構函式能不能正常工作.建構函式 用來初始化物件的資料成員,與類...

c 建構函式,拷貝建構函式,析構函式小結

1 建構函式 乙個特殊的類成員函式,函式名與類名相同,建立類型別物件時,由編譯器自動呼叫,在物件的生命週期中隻且只呼叫一次,以保證每個資料成員都有乙個合適的初始值。有初始化階段與普通計算階段。class date date int year,int month,int day year year m...