Funzioni costanti
Le funzioni costanti sono funzioni membro di una classe che non modificano
nessun valore delle variabili interne. Esse possono quindi essere chiamate
anche su un oggetto const. Per dichiararle, occorre solo mettere la keyword
"const" dopo la dichiarazione e ripeterla dopo la definizione della
funzione:
#include <stdio.h>
class A
{
int a;
public:
A (int aa = 1) { a = aa; }
void Display() const;
};
void A::Display() const
{
printf ("%d", a);
}
const A a_obj (2);
int main (int, char **)
{
a_obj.Display(); // Non sarebbe permessa se Display non fosse const
} // con gcc avrei:
// Error: passing `const A' as `this' argument of `void A::Display()' discards qualifiers
Ovviamente puoi chiamare funzioni const anche su normali oggetti.