What is mistake in following way of assignment operator overloading in C++?
Rather than returning *this pointer I am returning temp object from function.
<code>class Complex {
int i;
int r;
public: Complex() {
i=1;
r=1;
}
Complex(int i1, int r1) {
i = i1;
r = r1;
}
Complex operator= (Complex &c) {
Complex temp;
temp.i = c.i;
temp.r = c.r;
return temp;
}
};
</code>
<code>class Complex {
int i;
int r;
public: Complex() {
i=1;
r=1;
}
Complex(int i1, int r1) {
i = i1;
r = r1;
}
Complex operator= (Complex &c) {
Complex temp;
temp.i = c.i;
temp.r = c.r;
return temp;
}
};
</code>
class Complex {
int i;
int r;
public: Complex() {
i=1;
r=1;
}
Complex(int i1, int r1) {
i = i1;
r = r1;
}
Complex operator= (Complex &c) {
Complex temp;
temp.i = c.i;
temp.r = c.r;
return temp;
}
};