class compl{
float re,im;
public:
compl(float r, float i)
{re=r; im=i;}
compl& operator++()
{++re; return*this;} //(1)
compl operator++(int k){
compl z=*this; re++; im+=k; return z;} //(2)
friend compl& operator--(compl& z)
{--z.re; return z;}
friend compl operator--(compl& z,int k)
{compl x=z; z.re--; z.im-=k; return x;}
};
(1) Perché dobbiamo restituire l'oggetto corrente come riferimento? Come ho capito, il riferimento è solo un secondo nome per qualcosa.operatori prefissi e postfissi C++
(2) Perché dobbiamo salvare l'oggetto corrente in z, quindi modificare l'oggetto e restituire la z invariata? In questo modo, restituiremo il valore che non è aumentato. È a causa del modo in cui l'operatore postfissa funziona (restituisce il vecchio valore e quindi lo aumenta)
1. concatenamento operatore 2. * post * incremento – crashmstr
Vorrei chiedere perché hai reso gli operatori '' postfissa '? Sono candidati perfetti per le funzioni dei membri. – vsoftco
È un esempio tratto dal libro. È meglio scriverli come funzioni membro perché cambiano il valore dei parametri? –