C++语言中,对象作为函数的参数和返回值的传递方式有 3 种:值传递、指针传递和引用传递。
1. 对象作为函数参数
把实参对象的值复制给形参对象,这种传递是单向的,只从实参到形参。因此,函数对形参值做的改变不会影响到实参。
例如: 对象作为函数参数应用。
#include <iostream>
using namespace std;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);//修改s的边长
}
int main()
{Square s(2);cout << "边长增加前:" << endl;s.show();Add(s);cout << "边长增加后:" << endl;s.show();return 0;
}
对象占用内存都比较大,一般都不传对象本身,而改为传对象引用或者对象指针。