例6.15:通过引用得到变量的值:
#include<iostream>
using namespace std;
#include<iomanip>
int main()
{
int a = 10;
int &b = a; //声明 b是a的引用
a = a*a;
cout << a << setw(6) << b << endl;
b = b / 5; //b的值变化了a的值一定变化
cout << b << setw(6) << a << endl;
return 0;
}
执行效果如图;
例6.18实现两个变量的值互换,用引用做形参。
#include<iostream>
using namespace std;
#include<iomanip>
int main()
{
void swap(int&, int&);//整型变量的引用声明
int i = 3, j = 5;
swap(i, j); //实参为整型变量
cout << "i=" << i << " " << "j=" << j << endl;
return 0;
}
void swap(int&a, int&b)//形参是“引用”
{
int temp;
temp = a;a = b; b = temp;
}
执行结果如下:
例6.19对三个变量按由小到大的顺序排序:
#include<iostream>
using namespace std;
int main()
{
void sort(int &, int &, int &);//函数声明形参是引用
int a, b, c;
cout << "Please enter 3integers:";
cin >> a >> b >> c;
sort(a, b, c);
cout << "sorted order is" << a << " " << b << " " << c << endl;
return 0;
}
void sort(int &i, int &j, int &k)//函数定义:形参是引用
{
void change(int&, int&);//函数声明;
if (i > j)change(i, j);
if (i > k)change(i, k);
if (j > k)change(j, k);
}
void change(int &x, int &y)//函数定义:形参是引用
{
int temp;
temp = x; x = y; y = temp;
}