1. 程式人生 > >物件的構造和解構函式

物件的構造和解構函式

建構函式和解構函式,分別對應變數的初始化和清理,變數沒有初始化,使用後果未知;沒有清理,則會記憶體管理出現安全問題。

建構函式和解構函式寫法

建構函式:與類名相同,沒有返回值,不寫void,可以發生過載,可以有引數,編譯器自動呼叫,只調用一次。

解構函式:~類名,沒有返回值,不寫void,不可以發生過載,不可以有引數,編譯器自動呼叫,只調用一次。

建構函式和解構函式的作用域是public下才可以呼叫到,不寫預設private,呼叫不到。

如果程式猿不提供,系統會預設提供,構造和解構函式,函式體為空。

 1 class Person{
 2 public:
 3     Person(){
4 cout << "無參建構函式" << endl; 5 } 6 ~Person(){ 7 cout << "無參解構函式" << endl; 8 } 9 }; 10 11 void test01(){ 12 Person p; 13 } 14 15 int main(){ 16 17 test01(); 18 system("pause"); 19 return 0; 20 }

 

建構函式的分類和呼叫

按照引數分類:有參構造和無參構造;按照型別分類:普通構造和拷貝建構函式。