Это невозможно. Закрытые члены доступны только в том классе, в котором они определены (плюс его friend
s), по дизайну .
Каждый класс несет полную ответственность за свои закрытые переменные-члены. Если подклассу необходим доступ к ним, они должны быть объявлены protected
или, предпочтительно, косвенным путем через некоторые public
или protected
методы, предоставляемые базовым классом.
В большинстве случаев, если вы действительно думаете, что должны иметь доступ к частным лицам базового класса, это указывает на плохой дизайн базового класса или вашего подкласса!
UPDATE
Спасибо за код! Почему вы хотите получить доступ к rRect
и is_vis
? Я думаю, вы можете получить доступ к последним через Base_button::is_visible()
и Base_button::show()
, Base_button::hide()
.
Если все, что вы хотите сделать, это передать информацию о геометрии из вашего конструктора подкласса в базовый класс, вы действительно можете вызвать базовый конструктор:
Button::Button(const Point &corner, const string &label)
: Base_button(corner, 100, 100) // Presumably, this initializes rRect
{
// ...
}