Mark B, , , , ProtectedRemover classA ....
, , :
class ClassA
{
protected:
int varA;
};
class ProtectedRemover : public ClassA
{
public:
int getA() { return varA; }
void setA( int a ) { varA = a; }
};
class ClassB
{
protected:
ClassA objectA;
public:
int getProtectedVarA()
{
return ((ProtectedRemover)*(&objectA))->getA();
}
void setProtectedVarA(int i)
{
((ProtectedRemover)*(&objectA))->setA(i);
}
};
, .... , , ProtectedRemover classA ... , ClassA !
Still not recommended if you really have no other choice (I canβt change classA by creating my class friend or adding settre / getter)!
Nothing is really possible ....
jpo38 source
share