引用与类

 1 /* 引用与类 */
 2 
 3 #include<iostream>
 4 
 5 using namespace std;
 6 
 7 int g_num = 900;
 8 
 9 
10 // 引用只能初始化一次
11 // 没有构造myclass():rnum(num),默认值会生效
12 // 有构造 myclass():rnum(num),以这个为准
13 // myclass 构造函数块语句中赋值等价于赋值 不是初始化
14 
15 class myclass
16 {
17 public:
18     int num = 100;
19     int data = 200;// 默认赋值 = 可以 () 不可以
20 
21 //-------------------------------------------------
22 
23     //int & rnum = num;// 引用第一种初始化方式
24     int  & rnum = g_num;// 引用第一种初始化方式
25     
26     myclass()
27     {
28         // 第二种初始化方式
29         rnum = num;// 不当作初始化 当作赋值 g_num = 100
30     }
31 
32 //-------------------------------------------------
33 
34 //-------------------------------------------------
35     int & rnum;
36     myclass():rnum(num) // 第三种初始化方式 如果存在第二种 
37                        //  以第三种初始化为主  没有第三种以
38                       //  第一种为主
39     {
40     
41     }
42 
43 //-------------------------------------------------
44 
45 };
46 
47 void main()
48 {
49 
50     myclass my1;
51     my1.rnum = 80;
52     cout << my1.num << endl;
53 
54     cout << g_num << endl;
55 
56     cin.get();
57 }

 

posted on 2015-06-06 12:05  Dragon-wuxl  阅读(95)  评论(0)    收藏  举报

导航