#include <iostream>
using namespace std;
class Complex
{
int re, im;
public:
Complex(int a = 0, int b = 0)
{
re = a;
im = b;
}
//Complex t; 这里错误是因为不能确定Complex内存?
//Complex *p, &y; 指针或引用类型就正确,因为不需要确定内存
//但是定义引用类型为何正确?不是在定义应用变量时就应该初始化吗?
//Complex &y;没有立即初始化这里为何没报错?
Complex add(Complex& s) //为什么成员函数的返回值,形参甚至是在函数体内的变量t都可以是没定义好的本类Complex类型的
· //不是像上面一样不能确定内存空间吗?
{
Complex t;
t.re = re + s.re;
t.im = im + s.im;
return t;
}
void display()
{
cout << re << "+" << im << "i" << endl;
}
};
int main()
{
Complex s1(1, 2);
Complex s2(3, 4);
Complex temp = s1.add(s2);
temp.display();
return 0;
}
/*输出是4+6i正确*/