奇妙な問題に対する「創造的な」(つまり奇妙な) 解決策を検討しているときに、ある特定のアイデアが私の好奇心を刺激しました。私が使用する可能性が高いアイデアではありませんが、標準に従って合法であるかどうかを知りたいです。
簡単な例は...
class base_t
{
private:
// stuff
public:
// more stuff
class derived_t : public base_t // <--- weirdness here
{
// ...
};
};
奇妙さの一部 - which containsderived_t
を継承しているため、 contains 自体のように見えます。base_t
derived_t
derived_t
では、これは奇妙に繰り返されるテンプレート パターンと同様の、有効だが奇妙で恐ろしいものなのか、それとも違法なのか?
編集- 私がこれを考えた理由は、名前空間の汚染を回避しようとしていたことをおそらく言及する必要があります。クラスをメンバーとして持つことで、別のグローバル クラスの導入を回避できますが、その 2 番目のクラスは最初のクラスから多くを共有する必要があります。
クラスのペアが 1 つだけであれば問題ありませんが、これはコード ジェネレーター用です。