c++物件成員變數的構造和析構順序
阿新 • • 發佈:2019-01-25
<span style="font-size:18px;">// HelloWorld.cpp : 定義控制檯應用程式的入口點。
// #include "stdafx.h" #include <iostream> using namespace std; class demo { public: demo(){cout<<"無參建構函式"<<endl;}; demo(int i){x=i;cout<<"有參建構函式"<<endl;} int get(){return x;} ~demo(){cout<<"函式析構完畢"<<endl;} private: int x; }; class Human { public: Human(int i,int j,int k,int m):height(i),wid(j),d1(k),d2(m){cout<<"機器人制造完畢!\n效能為:"<<height*wid<<endl;cout<<"能耗為:"<<d1.get()*d2.get()<<endl; } private: int height; int wid; demo d1;//上面d1,d2的構造順序是按照這裡成員變數的宣告順序,析構順序與宣告順序相反。 demo d2; }; int _tmain(int argc, _TCHAR* argv[]) { Human h(1,2,3,4); system("pause"); return 0; }</span>