Mi chiedevo come proteggere un membro puntatore non const da un oggetto attraverso un metodo const. Per esempio:Metodo const C++ su membro puntatore non const
class B{
public:
B(){
this->val=0;
}
void setVal(){
this->val = 2;
}
private:
int val;
};
class A{
public:
A():b(new B){}
void changeMemberFromConstMethod() const{
this->b->setVal();
}
private:
B * b; // how to protect data pointed in A::changeMemberFromConstMethod
}
E 'possibile "proteggere" A :: b dati hanno sottolineato dal suo metodo? Dopo molte ricerche sul web, nessuna risposta soddisfatta trovata ancora.
Grazie per il vostro aiuto.
'" Dottore, fa male quando lo faccio "-" Quindi non farlo ". 'Non è come se qualcuno ti torceva il braccio e ti costringe a chiamare' setVal' da un metodo const. Suppongo di non capire la natura del problema. –
È solo ad esempio lo scopo. Ad esempio è come una garanzia che voglio impostare non modificare i dati B puntati. – Alex
Se non si desidera modificare '* b', basta non farlo. Non riesco ancora a cogliere la natura della difficoltà. –