Una funzione costante non può modificare un
membro dati della sua classe o richiamare una funzione non costante
della sua classe. Perché esistono queste restrizioni? Riguarda ciò
di cui si ha veramente bisogno. Se non si vede alcuna necessità nel
modificare i dati di una funzione membro, è sempre una buona idea
dichiarare quella funzione come costante. Protegge la classe
dall'alterazione involontaria dei dati, e rende evidenti le
intenzioni del programmatore ad altri programmatori che ne analizzino
il codice.
int DaiFame() const;
Questo tipo di dichiarazione viene effettuata
mediante la parola chiave const posta alla fine del nome della
funzione, nella sua intestazione. Ed è quello che è stato scritto
nel corpo della classe Roditore con la funzione DaiFame().
Questo significa che DaiFame() non può modificare in alcun modo i
membri dati non statici dichiarati nella classe Roditore, o
richiamare qualunque funzione non statica. In questo caso la funzione
si limita solo a restituire il valore di I_Fame. Solitamente tutte le
funzioni membro Dai (Get) sono definite come costanti.
Nessun commento:
Posta un commento