U pravu si za ovaj primer, trebalo je drugachiji da odaberem, kao npr.
Code:
#include <iostream>
using std::cout;
using std::endl;
class complex
{
public:
double real, imag;
complex(void) { } //default konstruktor
complex(double n) { real = n; } //konstruktor za double
};
int main(void)
{
complex a = 7777.888;
complex b = 1.989;
a = b;
cout << "real = " << a.real << endl;
return 0;
}
Dakle, operator= u ovoj situaciji je implicitno definisan tj. kompajler ga je definisao na svoj nachin. To znachi da
Code:
a = b;
radi, ali ja ne bih prepushtao kompajleru da generishe operator=.
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."