Ciao!
Studiavo il c++ ma mi è sorto il seguente dubbio

Il manuale sul quale studio pone il seguente esempio

codice:
class Classe
{
public:

	int iNumero;
	
	Classe()
	{
		iNumero = 0;
	}

	Classe  &operator += (const Classe &c)
	{
		iNumero += c.iNumero;

		return *this;
	}

};
perchè, nella funzione membro operatore +=, dovrei ritornare *this come riferimento piuttosto che per valore?

Che cambierebbe se la definissi nel seguente modo?

codice:
class Classe
{
public:

	int iNumero;
	
	Classe()
	{
		iNumero = 0;
	}

	Classe  operator += (const Classe &c)
	{
		iNumero += c.iNumero;

		return *this;
	}

};

Grazie mille