请教各位了
小弟这里有段程序#include<iostream.h>
class Complex
{
public:
Complex()
{
real=0;
imag=0;
}
Complex(double r,double i):real(r),imag(i){}
Complex operator+(Complex &); //声明重载运算符的函数//
void display();
private:
double real;
double imag;
};
Complex Complex::operator+(Complex &c2) //定义重载运算符的函数//
{
Complex c; //定义一个对象//
c.real=real+c2.real;
c.imag=imag+c2.imag;
return c;
}
void Complex::display()
{
cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
void main()
{
Complex c1(3,4),c2(5,-10),c3;
c3=c1+c2;
cout<<"c1= ";c1.display();
cout<<"c2= ";c2.display();
cout<<"c1+c2= ";c3.display();
}
有些问题不懂
1.c.real=real+c2.real; c.imag=imag+c2.imag; 这两段代码 里面的c.real real c2.real的顺序为什么不能改变呢,如果改变就不是我想要的结果了
2.cout<<"c1= ";c1.display();
cout<<"c2= ";c2.display();
cout<<"c1+c2= ";c3.display(); 这三段代码里面的;是什么意思如果写成cout<<"c1+c2= "<<c3.display()<<endl;为什么不可以?
多谢各位了 小弟是新手 希望大家的解答尽量详细 多谢了