У меня следующая структура класса:
class Common {
//members and data here.
};
class Derived1 : public Common
{
};
class Derived2: public Common, public Derived1
{
};
Насколько я понимаю, в этой иерархии как Derived1
, так и Derived2
будут использоваться любые члены из Common
.Есть ли способ сделать Derived1
приватным в Derived2
, чтобы Derived2
все еще наследовал от Common
, но имел отдельные переопределения функций.По сути, мне нужно переопределить виртуальную функцию в Derived1
и Derived2
, но при этом все еще выполняется функция Derived1
(это потоковый API).Любая помощь приветствуется.