Я считаю, что автор говорит о базе подобъектах, а не о прямых подобъектах.То есть вы бы использовали частное наследование, если бы хотели, чтобы какой-то член класса был создан до того, как будут созданы другие базовые классы класса.В этом случае использование частного наследования заставит C ++ инициализировать частный унаследованный базовый класс перед другими базовыми классами, при условии, что вы унаследовали их в правильном порядке.Например, если вы создаете класс Derived
, хотите Subobject
объект в Derived
и наследуете от Base
, но вы хотите, чтобы Subobject
инициализировался до Base
, вы можете написать
class Derived: private Subobject, public Base {
}
И теперь Subobject
будет инициализирован до Base
.
(Тем не менее, это довольно глупый вариант использования!)
Надеюсь, это поможет!