А, про это... Ну есть еще множественное наследование, когда класс может наследоваться от нескольких базовых, с различными комбинациями видимости. Да, наследование так же может иметь три типа видимости.
Впрочем, лично я не заморачиваюсь постройкой того, на что комитет по ++ просто забил. Поскольку пишу только для себя и не предполагаю, что моя писанина вообще будет кому-то нужна, ибо такого в инете щас дофига и больше. Если же писать "для всех", то в идеале должны быть закрытые библиотеки в виде файлов типа .a или как-то так (забыл, как называется). Я раньше немного копал эту тему, но лично мне она не нужна была, поэтому дальше развивать её не стал.