complex operator?

What happens when you attempt to compile and run the following code?

#include <iostream>

#include <string>

using namespace std;

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 . It prints: 1 0.8

Answer: C

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments