实验目的和要求
1.熟悉引用的概念,掌握引用的定义方法,学会引用在C++程序中的应用
2.掌握函数的定义和调用方法。
3.练习重载函数的使用。
1.熟悉引用的概念,掌握引用的定义方法,学会引用在C++程序中的应用
2.掌握函数的定义和调用方法。
3.练习重载函数的使用。
实验内容
1.调试下列程序,写出输出结果,并解释输出结果。
(1)
//sy2_1.cpp
#include<iostream>
using namespace std;
int main( )
{
double dd = 3.9,de=1.3;
double &rdd=dd,&rde=de;
cout<<rdd+rde<<','<<dd+de<<endl;
rdd=2.6;
cout<<rdd<<','<<dd<<endl;
de= 2.5;
cout<<rde<<','<<de<<endl;
return 0 ;
}
结果如下图:
结果分析如下:
首先,程序定义了两个对象dd和de并赋值3.9和1.3,然后又定义了两个引用rdd和rde,这样,无论对rdd和rde进行操作时,都是对同一地址的内容进行修改。所以,rdd+rde=dd+de=5.2;当rdd=2.6时,rdd=dd=2.6;当de=2.5时,rde=de=2.5。
(2)
//sy2_2.cpp
#include<iostream>
using namespace std;
int main()
{
void fun(int,int&);
int a,b;
fun(2,a);
fun(3,b);
cout<<"a+b="<<a+b<<endl;
return 0;
}
void fun(int m,int &n)
{
n=m*4;
}
结果如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/2368643cc047b7dbbb5e18e1189b2d9f.png)
分析结果如下:
(3)
#include<iostream>
using namespace std;
int &fun(int);
int aa[5];
int main()
{
int a=5;
for(int i(0);i<5;i++)
fun(i)=a+i;
for(int i=0;i<5;i++)
cout<<aa[i]<<" ";
cout<<endl;
return 0;
}
int &fun(int a)
{
return aa[a];
}
结果如下图: