|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<iostream>
- using namespace std;
- class Complex
- {
- public:
- Complex() { real = 0; imag = 0; }
- Complex(double r, double i) { real = r; imag = i; }
- Complex complex_add(Complex& c2);
- void display();
- private:
- double real;
- double imag;
- };
- Complex Complex::complex_add(Complex& c2)
- {
- Complex c;
- c.real = real + c2.real;
- c.imag = imag + c2.imag;
- return c;
- }
- void Complex::display()
- {
- cout << "(" << real << "," << imag << "i)" << endl;
- }
- int main()
- {
- Complex c1(3, 4), c2(5, -10), c3;
- c3 = c1.complex_add(c2);
- cout << "c1=";
- c1.display();
- cout << "c2=";
- c2.display();
- cout << "c1+c2=";
- c3.display();
- return 0;
- }
复制代码
这是一个实现复数相加的代码
想问一下各位大神们为什么complex_add函数的形参一定要是引用呢
我尝试了一下直接传值也是可以的
请大神们赐教!
本帖最后由 livcui 于 2020-9-11 21:53 编辑
1. 省内存
2. 有点难说,反正把类作为形参类型基本就是找死(除非有拷贝构造函数等)
|
|