码迷,mamicode.com
首页 > 编程语言 > 详细

C++程序设计_第5章_特殊函数和成员

时间:2016-06-15 01:43:52      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:

 

例5.1

分析下面程序中析构函数与构造函数的调用顺序。

 

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 class object
 6 {
 7 private:
 8     int val;
 9 public:
10     object() :val(0)
11     {
12         cout << "Ddfault constructor for object" << endl;
13     }
14     object(int i) :val(i)
15     {
16         cout << "Constructor for object " << val << endl;
17     }
18     ~object()
19     {
20         cout << "Destructor for object" << val << endl;
21     }
22 };
23 
24 class container
25 {
26 private:
27     object one;//初始化顺序与对象成员产生的顺序有关
28     object two;//排在前面的先初始化
29     int data;
30 public:
31     container() :data(0)
32     {
33         cout << "Ddfault constructor for object" << endl;
34     }
35     container(int i, int j, int k);
36     ~container()
37     {
38         cout << "Destructor for object" << data << endl;
39     }
40 };
41 
42 container::container(int i, int j, int k) :two(i), one(j)//与初始化列表顺序无关
43 {
44     data = k;
45     cout << "Constructor for container " << data << endl;
46 }
47 
48 void main()
49 {
50     container obj, anObj(5, 6, 10);
51 
52     system("pause");
53 }

 

例5.2

分析下面程序的输出结果。

 

 

 

123

C++程序设计_第5章_特殊函数和成员

标签:

原文地址:http://www.cnblogs.com/denggelin/p/5586026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!