protected
можно получить:
this
указатель Чтобы решить ваше дело, вы можете использовать один из двух последних вариантов.
Accept Производится в Derived :: DoSomething или объявляет Derived friend
к базе:
class Derived;
class Base
{
friend class Derived;
protected:
int b;
public:
void DoSomething(const Base& that)
{
b+=that.b;
}
};
class Derived : public Base
{
protected:
int d;
public:
void DoSomething(const Base& that)
{
b+=that.b;
d=0;
}
};
В некоторых случаях вы также можете рассматривать публичные геттеры.