1概念:一个变量的引用就是变量的别名,实际上,引用是一个指针常量,用来存放变量的地址。如果形参为变量的引用,实参为变量名,调用函数时,将实参的变量地址传给形参(引用),这样引用指向实参变量。对象的引用也是类似的。
2例子
#include <iostream>
using namespace std;
class Time
{
public:
Time(int,int,int);
int hour;
int minute;
int sec;
};
Time::Time(int h,int m,int s)//定义构造函数
{
hour=h;
minute=m;
sec=s;
}
void fun(Time &t) //形参t是Time类对象的引用
{
t.hour=18;
}
int main()
{
Time t1(10,12,13);//t1是Time类的对象
fun(t1);//实参是Time类对象,可以通过引用来修改实参t1的值
cout<<t1.hour<<endl;//输出t1.hour的值是18
return 0;
}
/*18
Process returned 0 (0x0) execution time : 0.119 s
Press any key to continue.*/
3:const型数据的小结
Time const t: t是常对象,其值在任何情况都不能改变。
void Time::fun()const: fun 是Time类中的成员函数,可以引用,但不能修改本类中的数据成员
Time*const p:p是指向Time类对象的常指针变量,p的值不能改变。
const Time*p:p是指向Time类常对象的指针变量,p指向的类对象的值不能通过p来改变
const Time &t1=t:t1是Time类对象t的引用,二者指向同一存储空间,t的值不能改变。