Nella funzione membro
void Utente::setInt(int i)
creavi una nuova variabile di nome i e ogni modifica restava circoscritta ad essa
e non a quella della classe, l'assegnazione i=i che hai usato non ti a fatto sorgere
qualche dubbio ?![]()
[B]codice:#include <string> #include <iostream> #include "Utente.h" using namespace std; Utente::Utente() { cout << "Costruttore\n"; i=0; // Inizializziamo la variabile } Utente::~Utente() { cout << "Distruttore\n"; } int Utente::getInt(){ return i; } void Utente::setInt(int val) // Usiamo un nome diverso per la variabile { cout << "Setto i="<<val<<endl; i=val; // i = i; // <--- ?????! Inefficace } int main() { Utente u; u.setInt(5); cout<<"u.getInt()="<<u.getInt()<<endl; return 0; }

Rispondi quotando