C++_练习—继承_构造初始化列表

构造初始化列表


构造对象成员的顺序跟初始化列表无关,跟定义顺序有关

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class info {
 6 public:
 7     info(int a) {
 8         age = a;
 9         cout << age << endl;
10         cout << "构造函数,自动调用" << endl;
11      }
12 
13     ~info() {
14         cout << "析构函数,自动调用" << endl;
15     }
16 
17 private:
18     int age ;
19 };
20 
21 class info1 {
22 public:
23     info1(int ag, info& a, info & b):info1_A(a), info1_B(b){   // 构造对象成员的顺序跟初始化列表无关 !!
24         info1_age = ag;
25         cout << "info1 构造函数" << endl;
26     }
27 
28     ~info1(){
29         cout << "析构函数,自动调用" << endl;
30     }
31 
32 
33 private:
34     int info1_age;
35     info info1_A;
36     info info1_B;  // 跟定义顺序有关!!
37 };
38 
39 
40 int main(void) {
41 
42 
43     info a(1), b(2);
44 
45     info1 info_(1,a,b);  // 创建之前必须先构造两个info对象!
46 
47     system("pause");
48 
49     return 0;
50 }

笔记


猜你喜欢

转载自www.cnblogs.com/panda-w/p/11374320.html