建構函式和析構函式
#include #includeusing
namespace
std;
//建立乙個類,c++編譯器會給類新增至少三個函式
//預設建構函式;析構函式;拷貝建構函式,當自己建立這三個函式時就會抵消掉預設建立的函式了。
/*建構函式:進行初始化,可以有引數和發生過載,建立物件自動呼叫。類似python__init__方法。
析構函式:進行清理,不可以有引數和發生過載,物件銷毀前自動呼叫一次。
*/class
userinfo
;
//2.析構函式
~userinfo()
;};int
main()
建構函式的分類和呼叫
#include #includeusing
namespace
std;
class
userinfo
;
//有參構造
userinfo(int
a) ;
//拷貝建構函式
/*使用已經建立完畢的物件來初始化乙個新物件
當自己沒寫這函式的時候,並且例項化userinfo u4(u3),系統會自動建立乙個拷貝建構函式,並且內部實現的是淺拷貝。
如果屬性有在堆區開闢的,一定要自己提供拷貝建構函式,自己進行堆區資料的釋放。才能防止淺拷貝帶來的問題。
*/userinfo(
const userinfo &u1) ;
~userinfo() ;
};//
呼叫void
test() ;
intmain()
C 建構函式 拷貝構造 析構函式
建構函式 constructor 在例項物件時,系統自動呼叫,用來初始化物件的資料成員 建構函式宣告語法 類名 引數列表 建構函式注意點 include include using namespace std class computer 上面的建構函式也可以寫成引數列表初始化的形式 compute...
C 建構函式 析構函式 拷貝建構函式
建構函式 析構函式 拷貝建構函式 如果類成員變數有初始值,用這些初始值初始化成員變數 如果類成員變數沒有初始值,則預設初始化該成員變數 class student int main 使用注意事項 語法 這個預設建構函式之所以對student有效,是因為我們為內建型別的資料成員提供了初始值 如果你的編...
建構函式 拷貝建構函式 析構函式
1.如果定義了兩個預設建構函式,vc只回給出warning.2.如果有預設引數的預設構造,如果你給了第乙個預設的話 所有傳遞引數都要有預設植 否則報錯.不過如果是第乙個引數的預設值沒有給出的話,編譯器卻看不出問題,但是沒有 試過這種情況建構函式能不能正常工作.建構函式 用來初始化物件的資料成員,與類...