假设我有以下声明:
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 的子代
那么这可能吗?
谢谢。