What happens when you attempt to compile and run the following code?
#include
class complex{ double re, im; public: complex() : re(1),im(0.4) {} complex operator+(complex &t);
void Print() { cout << re << " " << im; }
};
complex complex::operator+ (complex &t){ complex temp; temp.re = this?>re + t.re; temp.im = this?>im + t.im;
return temp;
}
int main(){ complex c1,c2,c3; c3 = c1 + c2; c3.Print(); }
A. It prints: 1 0.4
B. It prints: 2 0.8
C. It prints: 0 0
D. Garbage value