What happens when you attempt to compile and run the following code?
#include
class complex{ double re, im; public:
complex() : re(1),im(0.3) {} complex(double n) { re=n,im=n;}; complex(int m,int n) { re=m,im=n;} 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(1),c2(2),c3; c3 = c1 + c2; c3.Print(); }
A. It prints: 1 1.5
B. It prints: 2 1.5
C. It prints: 3 3
D. It prints: 0 0