本文主要說明對象創建時構造函數的執行順序,對象成員的初始化順序;對象銷毀時析構函數的執行順序,對象成員的銷毀順序。
?
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; }以上所述就是本文的全部內容了,希望大家能夠喜歡。