domenica 28 ottobre 2012

Definire una funzione membro costante

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