Там нет никакого способа сделать точно то, что вы хотите (как уже говорили другие), но есть «хаки» вокруг этого, если вы просто не хотите, чтобы показать protected
/private
пользователей для пользователей вашего класса. Вы можете создать класс PrivateBase
и PublicBase
, а затем третий класс, который использует множественное наследование или состав двух предыдущих классов. Как правило, это делается потому, что вы хотите распространять файл заголовка, но не хотите раскрывать все ваши личные члены.
Here is an example таких. Я считаю, что у Скотта Мейерса есть пример в одной из его книг. Это намного больше работы и делает обслуживание на вашем конце намного сложнее, поэтому имейте это в виду.
+1 для отличной точки. – greg