Per esporre il mio problema, incollo subito una classe semplice (ridotta al midollo):
Codice:
class obj {
private:
int arg1;
public:
obj ()
: arg1 (1) {}
obj (const string & s)
: arg1 (15) {}
const obj & operator = (const obj & p) {
arg1 = p.arg1;
return *this;
}
const obj & operator = (const string & s) {
arg1 = 15;
return *this;
}
int get () {
return arg1;
}
void set (int arg) {
arg1 = arg;
}
};
La mia domanda è molto semplice:
perchè
Codice:
obj p;
p = "ciao";
funziona, e
funziona pure, mentre
non funziona?