Funzioni membro costanti

Dichiarare una funzione membro con la parola chiave const specifica che la funzione è una funzione “readonly„ non modifica l'oggetto di cui venga chiamato.Una funzione membro costante non può modificare alcuni membri dati non statico oppure chiamare le funzioni membro che non sono costanti.

Per dichiarare una funzione membro costante, inserire la parola chiave const dopo la parentesi di chiusura dell'elenco di argomenti.La parola chiave const è necessaria sia nella dichiarazione che nella definizione.

Esempio

// constant_member_function.cpp
class Date
{
public:
   Date( int mn, int dy, int yr );
   int getMonth() const;     // A read-only function
   void setMonth( int mn );   // A write function; can't be const
private:
   int month;
};

int Date::getMonth() const
{
   return month;        // Doesn't modify anything
}
void Date::setMonth( int mn )
{
   month = mn;          // Modifies data member
}
int main()
{
   Date MyDate( 7, 4, 1998 );
   const Date BirthDate( 1, 18, 1953 );
   MyDate.setMonth( 4 );    // Okay
   BirthDate.getMonth();    // Okay
   BirthDate.setMonth( 4 ); // C2662 Error
}

Vedere anche

Riferimenti

const (C++)

Valori costanti