使用对象引用作为函数参数最常见,它不但有指针作为参数的优点,而且比指针作为参数更简单、更方便。 引用方式进行参数传递,形参对象就是实参对象的“别名”,对形参的操作其实就是对实参的操作。
例如:用对象引用进行参数传递。
class Square //正方形
{
public:
Square(double len) :length(len) //构造函数
{}
void set(double len) //修改边长
{
length = len;
}
double get()//获取边长的值
{
return length;
}
void show(); //输出面积
private:
double length;//边长
};
void Square::show() //输出面积
{
cout << "正方形面积:" << length * length << endl;
}
void Add(Square &s)//形参是引用,可以改变实参的值
{
double len = s.get() + 1; //len=原边长+1;
s.set(len);//修改ps指向的边长
}
int main()
{
Square squ(2);
cout << "边长增加前:" << endl;
squ.show();
Add(squ);
cout << "边长增加后:" << endl;
squ.show();
return 0;
}