64,651
社区成员
发帖
与我相关
我的任务
分享
CDemoInstance::CDemoInstance()
{
...
m_cpGlbVrbl = m_cpGlbVrbl->Instance();
}
static Cglobalvariable* Instance()
{
if ( m_pInstance == 0)
{
m_pInstance = new Cglobalvariable;
//初始化
Cglobalvariable();
}
return m_pInstance;
}
class A
{
public:
static void init()
{
if (NULL != a)
a = NULL;
}
static A *GetSingleton(int da)
{
static bool inited = false;
if (!inited)
{
a = new A(da);
inited = true;
cout << "create a instance of A,and the paremeter is " <<a->data<<endl;
}
else
{
cout << "Can't create instance,a instance already exist" <<endl;
return NULL;
}
return a;
}
static void Release()
{
if (NULL != a)
{
delete a;
a = NULL;
}
}
private:
int data;
static A *a;
A(int d):data(d){} //构造里提供参数不就可以了吗?
~A(){}
};
A* A::a = NULL;
int main()
{
A::init();
A* aa=A::GetSingleton(5);
A* BB=A::GetSingleton(4);
}
Enum SingleType
{
none,
type1,
type2
};