【发布时间】:2010-09-14 07:11:54
【问题描述】:
假设我有以下声明:
class Over1
{
protected:
class Under1
{
};
};
我知道我可以做到以下几点:
class Over2 : public Over1
{
protected:
class Under2 : public Under1
{
};
};
但是有没有办法在没有 Over2 的情况下声明 Under2?
由于您必须扩展 Over1 以使用 Under1 的任何派生,这可能看起来很愚蠢,但在这种情况下可能有 30 种不同风格的 Under。我可以:
- 将它们全部放在 Over1 中:不 有吸引力,因为 Over2 只能使用 其中1或2个
- 将它们分别放入 他们自己的 Over 版本:不是 有吸引力,从那时起你将拥有 乘以几乎从 同班。
- 找到一种方法来创建 未创建的 Under1 的孩子 Over1的孩子
那么这可能吗?
谢谢。
【问题讨论】:
标签: c++ inheritance oop private