next up previous contents
Next: Constantes externes Up: Les constantes en C++ Previous: Modifier une constante

Constantes et références

La référence à une constante provoque une erreur. Seule une déclaration de paramètre du genre const X & permettra l'appel (par référence) avec un objet de type const X;

const int ci=0;
// int &r=ci;                    interdit
const int &q=ci;                // oui
void f(int & q){} 
void g(const int & q){}
void main(){
//  f(ci);                        interdit
  g(ci);                        // ok
}
Ce qui précède s'applique aussi aux classes, une fonction membre ne pourra être appliquée à une constante de la classe qui si elle est déclarée const :
class A{
public:
	void f(){ /*...*/}
	void f_cons()const{
	   /* ... */ ;}
};
A a;
void main(){
//	a_cons.f();                 interdit 
	a_cons.f_cons();           // oui
}



Mon Oct 20 14:02:48 MET 1997