あるクラスまたは別のクラスからの汎用変数を作成したいと考えています。
このコード サンプルでは、クラス A またはクラス B のコードにアクセスできるように、var aa をジェネリックにする必要があります。
しかし、aa はグローバルでなければなりません。
私たちを手伝ってくれますか?
class MyClass
{
public:
MyClass() {} //contructor padrão, não deve ser utilizado isoladamente
static MyClass* getInstance()
{
static MyClass *instance = 0;
if (!instance) instance = new MyClass();
return instance;
}
};
class A : public MyClass
{
public:
int a() { return 1; }
};
class B : public MyClass
{
public:
int b() { return 1; }
};
template <class TAIT> class AIT
{
public:
static TAIT& Instance()
{
static TAIT instance;
return instance;
}
};
AIT aa;
void main()
{
aa.Instance().a(); // or
aa.Instance().b(); // aa could be class
// A or class B. So I could access
// function a or function b (not at same
// time, of course)
return;
}