<二>掌握構造函數和析構函數

構造函數
和類名相同,可以帶參數,參數可以有多個
構造函數執行完成後,記憶體開闢完成,同時可以完成初始化工作.

析構函數
~Test();
析構函數可以自己調用,析構函數調用後,對象不存在了.自己調了析構函數後,就不能在調用對象的方法了.不建議自己調用析構函數

示例程式碼1:
class student{
private:
int age;
char NAME[20];
};

student s1

int main(){

student s2;

student *ps3=new student();

}

上面的程式碼 s2數據位置在棧上, ps3指向對象在堆上, s1在數據區 .data
s2在棧上,main 函數執行完成後,會自動調用析構函數, 而ps3在堆上,必須自己手動的 delete ps3,
delete ps3實際上包含兩個動作,第1個是調用這個對象的的析構函數,第2個是釋放記憶體即 free(ps3);
s1是全局變數,在.data 區,程式結束後才自動析構