#include <iostream>
using namespace std;
class Complex //定义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;
cout<<real<<endl;
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; //定义3个复数对象
c3=c1.complex_add(c2); //调用复数相加函数
cout<<"c1="; c1.display(); //输出c1的值
cout<<"c2="; c2.display(); //输出c2的值
cout<<"c1+c2="; c3.display(); //输出c3的值
return 0;
}
这段小代码实现的是两个数的相加
但有一点我不明白就是Complex complex_add(Complex &c2); 这个函数里面的
参数为什么要用引用,我试着将&号去掉,但最后的运行结果和加上&号是一样的》?
那么他为什么还要将他加上引用??
为什么谢谢,我很想知道!!