本文主要说明对象创建时构造函数的执行顺序,对象成员的初始化顺序;对象销毁时析构函数的执行顺序,对象成员的销毁顺序。

  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #includestdio.h //初始化列表 提供了对成员变量初始化的方式 //Constructor class M { private: int mI; public: M(int i) { printf(M(int i),i=%dn,i); mI=i; } int getI() { return mI; } }; class Test { private: const int c; //类里面成员定义时变量不能初始化 M m1; M m2; public: Test():c(1),m1(2),m2(3) //////////////////重要 初始化列表 { /////const成员只能被初始化 不能被赋值 printf(Test()n); ///构造函数体内叫赋值 } void print() { printf(c=%d,m1.mI=%d,m2.mI=%dn,c,m1.getI(),m2.getI()); } }; void run() { Test t1; t1.print(); } int main() { run(); printf(Press any key to continue...); getchar(); return 0; }

  以上所述就是本文的全部内容了,希望大家能够喜欢。