2.3.9 引用类型
引用是C++(www.cppentry.com)的一种新的变量类型,是对C语言的重要扩充。它的作用是为变量起一个别名。当声明一个引用时,应该把它初始化为另一个已经存在的同类型对象,即目标变量,所有对引用的操作都相当于直接对目标变量进行操作。下面通过举例来说明别名和变量的关系。
【例2.10】 使用变量的别名进行对变量的增减,程序代码如下。(实例位置:光盘\mr\example\第2章\2.10)
代码位置:光盘\mr\example\第2章\2.10\oname\oname.cpp
- 01 #include "iostream.h"
- 02 int main()
- 03 {
- 04 int x = 1;
- 05 int &y = x;
- 06 cout<<x<<"\n";
- 07 cout<<y<<"\n";
- 08 x++;
- 09 cout<<x<<"\n";
- 10 cout<<y<<"\n";
- 11 y++;
- 12 cout<<x<<"\n";
- 13 cout<<y<<"\n";
- 14 }
运行结果如图2.10所示。
试一试:根据以上程序,使用别名,对一个变量进行加10,然后输出这个变量。
通过实例可以看出,变量x的值改变后,别名y的值也相应地改变了;同样,别名y的值改变后,变量x的值也改变了。C++(www.cppentry.com)语言中增加引用,主要是用它作为函数的参数,使无返回值的函数具有传递数据的功能。
【例2.11】 把引用作为函数参数进行传递,程序代码如下。(实例位置:光盘\mr\example\第2章\2.11)
代码位置:光盘\mr\example\第2章\2.11\temp\temp.cpp
- 01 #include "iostream.h"
- 02 int main()
- 03 {
- 04 void change(int &a,int &b);
- 05 int x=1,y=2;
- 06 cout<<"x="<<x<<"\n";
- 07 cout<<"y="<<y<<"\n";
- 08 change(x,y);
- 09 cout<<"x="<<x<<"\n";
- 10 cout<<"y="<<y<<"\n";
- 11 }
- 12
- 13 void change(int &a,int &b)
- 14 {
- 15 int t;
- 16 t = a;
- 17 a = b;
- 18 b = t;
- 19 }
运行结果如图2.11所示。
|
| 图2.11 运行结果 |
试一试:根据以上程序,通过引用,交换浮点型数值2.6和7.1。
上机练习
上机练习1 使用枚举类型输出当前日期
枚举类型提供了一组集合以描述一组标记值。例如描述对话框的风格,表示星期一到星期六等。当然,这些情况可以使用一组整数来标记。但是这样难以让用户阅读代码,并且不能够限制用户输入非法的整数值。枚举类型则恰恰能够解决这些问题,程序运行效果如图2.12所示。
上机练习2 使用取址运算符访问指针数据
当指针被赋予一个有效的变量地址后,如何通过指针访问或修改变量的数据呢?在指针变量前使用“*”运算符,就可以直接访问变量的数据了,程序运行效果如图2.13所示。
|
| 图2.12 输出星期几 |
|
| 图2.13 使用取址运算符输出数据 |