cocos2dx里面有许多的单例,很多返回类型是类指针的都是,如sharedDirector和sharedUserDefaultCenter 等等。让我们来详细了解单例这个东西吧, 简单的说,单例就是这个类只有一个对象,即使你创建多少对象结果都只有同一个对象被创建出来。让我们来看看自己写的代码
class single {
public:
static single* sharedSingle();
~single();
private:
static single* m_single;
single();
}
single* single:: sharedSingle()
{
if(m_single==NULL)
{
m_single=new single();
}
return 0;
}
single:: ~single()
{
delete m_single;
}
void main()
{
single* a1=single::sharedSingle();
single* a2=single::sharedSingle();
// 因为构造函数是私有函数所以不能直接使用构造函数;
return ;
}
这基本就是cocos2dx的单例的代码,其主要实现功能是有一个静态的成员函数和一个静态的成员变量,以及私有的构造函数,这样使得别人不能直接创建对象而只能选择你设置的成员函数。 单例在cocos2dx里面还有很多,熟练使用单例会有好的收获,