Supponiamo che io ho la seguente classe:Cosa succede se non si utilizza "questo" all'interno di una classe?
class foo{
public:
int someNum;
void calculation(int someNum);
};
Definizione:
void foo::calculation(int someNum){
someNum = someNum;
}
Ora nella linea someNum = someNum
, che someNum si sta riferendo? Se faccio:
this->someNum = someNum
Allora qual è la seconda someNum?
Qual è uno stile di denominazione valido per evitare questo problema? Ad esempio, nell'obiettivo-c, un prefisso "_" prima di un nome di variabile membro. (ad esempio: _someNum);
Vale la pena notare che questa regola non si applica ai elenco dei membri di inizializzazione di un costruttore. 'foo (int someNum): someNum (someNum) {}' fa la cosa giusta. – sbabbi
@sbabbi Grazie, aggiunto. –