本文主要说明对象创建时构造函数的执行顺序,对象成员的初始化顺序;对象销毁时析构函数的执行顺序,对象成员的销毁顺序。
?
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 #include<stdio.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; }以上所述就是本文的全部内容了,希望大家能够喜欢。