2004年12月29日
C++.NET でクラス宣言するときの注意点
C++ で他クラスを含めるには、そのクラスの宣言をインクルードする必要があるけど、他クラスへのポインタだけでいい場合は、次のようにすればよい。
class A;
class B
{
private:
A* objectA;
}
C++.NET でマネージドクラスをポインタとして含むには次のようにする。
public __gc class A;
public __gc class B
{
A* objectA;
}
こうしないと、マネージドクラスであることが伝わりません。名前空間の宣言がある場合は、ちゃんと同じ名前空間の中で宣言してやらないとダメ。
namespace sample
{
public __gc class A;
public __gc class B
{
A* objectA;
}
}