![]() |
#2
pangding2010-08-07 23:04
|

/*一个变量的引用就是变量的别名。实质上,变量名和引用名都指向同一段内存单元。如果形参为变量的引用名,实参为变量名,则在调用 函数进行虚实结合时,并不是为形参另外开辟一个存储空间,而是把实参变量的地址传给形参(引用名),这样引用名也指向实参变量。
*/
#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,13,56); // t1 是 Time 类对象
fun( t1); //实参是 Time 类对象,可以通过引用来修改实参 t1 的值
cout << t1.hour << endl; //输出 t1.hour 的值为 18
system("pause");
return 0;
}
/*如果不希望在函数中修改实参 t1 的值,可以把引用变量 t 声明为 const(常引用),函数原型为
void fun(const Time &t); 则在函数中不能改变 t 的值,也就是不能改变其对应的实参 t1 的值。
在 C++ 面向对象程序设计中,经常用常指针和常引用作函数参数。这样既能保证数据安全,使数据不
能被随意修改,在调用函数时又不必建立实参的拷贝,从而节省了时间开销,提高了程序运行效率。*/
[ 本帖最后由 hmsabc 于 2010-8-8 07:59 编辑 ]