私は個人的なプロジェクトでフレームワークのさまざまなコンポーネントのインターフェイスを設定していますが、インターフェイスで役立つと思われるものを突然考えました。私の質問は、これが可能かどうかです:
class a
{
public:
virtual class test = 0;
};
class b : public a
{
public:
class test
{
public:
int imember;
};
};
class c : public a
{
public:
class test
{
public:
char cmember; // just a different version of the class. within this class
};
};
次のようなことができるように、派生オブジェクト内で定義する必要がある仮想クラスまたは純粋仮想クラスを宣言するようなものです。
int main()
{
a * meh = new b();
a * teh = new c();
/* these would be two different objects, but have the same name, and still be able
to be referred to by an interface pointer in the same way.*/
meh::test object1;
teh::test object2;
delete meh;
delete teh;
return 0;
}
msvc++ が一連の構文エラーをスローするので、これを行う方法はありますか?正しく書いていないだけですか?