J'ai une question sur les objets constants. Dans le programme suivant:const objet en C++
class const_check{
int a;
public:
const_check(int i);
void print() const;
void print2();
};
const_check::const_check(int i):a(i) {}
void const_check::print() const {
int a=19;
cout<<"The value in a is:"<<a;
}
void const_check::print2() {
int a=10;
cout<<"The value in a is:"<<a;
}
int main(){
const_check b(5);
const const_check c(6);
b.print2();
c.print();
}
void print()
est fonction membre constante de la classe const_check
, donc selon la définition des constantes si toute tentative de changement int a, il devrait se traduire par une erreur mais le programme fonctionne très bien pour moi. Je pense que j'ai une certaine confusion ici, quelqu'un peut-il me dire pourquoi le compilateur ne le signale pas comme une erreur ??
Oh, j'ai raté ça ... Silly Merci – Jony