解题思路:
以引用作为形参,在虚实结合时建立变量的引用,使形参名作为实参的"引用",即形参成为实参的引用。
编写程序:
运行结果:
程序分析:
在定义swap函数声明形参时,指定a和b是整型变量的引用。请注意:在此处&a不是"a的地址",而是指"a是一个整型变量的引用(别名),&是引用声明符。"由于是形参,不必对它初始化,即未指定它们是哪个变量的别名。当main函数调用swap函数时,进行虚实结合,把实参变量i和j的地址传给形参a和b。这样a成为i的别名。同理,b成为j的别名。在swap函数中使a和b的值对换,显然,i和j的值同时改变了。在main函数中输出i和j已改变了的值。
这就是地址传递方式,可以发现,C++在调用函数时有两种方式:传值方式和传址方式,用引用型形参的方法比使用指针型形参的方法简单、直观、方便,可以部分代替指针的操作。有些过去只能用指针来处理的问题,现在可以用引用来代替,从而降低了程序设计的难度。