私は、次の操作を実行しようとしている:入れ子になったC++クラスは、その囲むクラスを継承できますか?
class Animal
{
class Bear : public Animal
{
// …
};
class Giraffe : public Animal
{
// …
};
};
...しかし、私のコンパイラは、この上で窒息して表示されます。これは法的なC++ですか、そうでなければ、同じことを達成するためのより良い方法がありますか?基本的に、私はよりクリーンなクラス命名体系を作りたいと思っています。 (私はAnimal
と共通の基底クラスの内部クラスを派生させたくありません)
開始のために、あなたはクラス宣言の後にセミコロンで閉じる括弧を実行する必要があります。 –
私はなぜあなたがこれをしたいと思うのか不明です。私が正しく理解すれば、Bearクラスはその内部にBearクラスを持ちますが、これはちょっと奇妙です。 –