Предположим, что у меня есть следующее заявление:Наследование из защищенных классов в C+++
class Over1
{
protected:
class Under1
{
};
};
Я знаю, что я мог бы сделать следующее:
class Over2 : public Over1
{
protected:
class Under2 : public Under1
{
};
};
Но есть способ объявить Under2 без Over2?
Поскольку вам нужно расширить Over1, чтобы использовать любую производную от Under1, это может показаться глупым, но в этой ситуации может быть 30 различных вкусов Under. Я могу либо:
- Поместите их все в Over1: Не привлекательным, поскольку Over2 может использовать только 1 или 2 из них
- Поместите их каждый в свою собственную версию Over: Не привлекательным с тех пор вы будет иметь , чтобы умножить наследование от почти того же класса.
- Найти способ создать детей Under1 без создания детей Over1
Так это возможно?
Спасибо.