1、默認(rèn)構(gòu)造函數(shù)
默認(rèn)構(gòu)造函數(shù)是沒有參數(shù)的函數(shù)。另外,默認(rèn)構(gòu)造函數(shù)也可以在參數(shù)列表中以參數(shù)默認(rèn)值的方式聲明。默認(rèn)構(gòu)造函數(shù)的作用是把對(duì)象初始化為默認(rèn)的狀態(tài)。如果在類中沒有顯式定義構(gòu)造函數(shù),那么編譯器會(huì)自動(dòng)的隱式創(chuàng)建一個(gè),這個(gè)隱式創(chuàng)建的構(gòu)造函數(shù)和一個(gè)空的構(gòu)造函數(shù)很相像。他除了產(chǎn)生對(duì)象的實(shí)例以外什么工作都不做。在許多情況下,默認(rèn)構(gòu)造函數(shù)都會(huì)被自動(dòng)的調(diào)用,例如在一個(gè)對(duì)象被聲明的時(shí)候,就會(huì)引起默認(rèn)構(gòu)造函數(shù)的調(diào)用。直接進(jìn)行創(chuàng)建類,系統(tǒng)自動(dòng)創(chuàng)建默認(rèn)構(gòu)造函數(shù),但是初始值不確定,容易引起錯(cuò)誤。
2、拷貝構(gòu)造函數(shù)
拷貝構(gòu)造函數(shù),經(jīng)常被稱作X(X&),是一種特殊的構(gòu)造函數(shù),他由編譯器調(diào)用來完成一些基于同一類的其他對(duì)象的構(gòu)件及初始化。它的唯一的一個(gè)參數(shù)(對(duì)象的引用)是不可變的(因?yàn)槭莄onst型的)。這個(gè)函數(shù)經(jīng)常用在函數(shù)調(diào)用期間于用戶定義類型的值傳遞及返回。拷貝構(gòu)造函數(shù)要調(diào)用基類的拷貝構(gòu)造函數(shù)和成員函數(shù)。如果可以的話,它將用常量方式調(diào)用,另外,也可以用非常量方式調(diào)用。
拷貝構(gòu)造函數(shù)其本身
String(const String& str);
3、拷貝賦值
關(guān)鍵字operator 類型名稱+& +參數(shù)
String& operator=(const String& str);
4、析構(gòu)函數(shù)
在對(duì)象調(diào)用時(shí)進(jìn)行創(chuàng)建,每個(gè)對(duì)象被銷毀前得以調(diào)用。釋放占用的資源。
~box(){
delete[] m_data;
}
5、派生類中的構(gòu)造函數(shù)和析構(gòu)函數(shù)
基類構(gòu)造函數(shù)的參數(shù)應(yīng)在派生類構(gòu)造函數(shù)的定義中有明確描述。基類是派生類的一個(gè)成員,
派生類構(gòu)造函數(shù)只能描述它自己的成員和自己的直接基類的初始式,不能直接初始化基類的成員