设计模式-第1讲-单例

来源:互联网 发布:慧讯软件 编辑:程序博客网 时间:2024/06/07 10:44

单例模式的要点

1、构造方法私有

2、一个私有静态对象

3、一个公有获得静态对象方法


给静态对象分配内存有两种方式

1、编译就已经确定分配内存 

2、当第一次使用时,判断为null再去创建


class Singleton{public:Singleton* GetInstance(){if(s_instance==NULL)s_instance = new Singleton;return s_instance;}private:Singleton();private:static Singleton* s_instance;};

单例方法非常简单,也可以将该单例类再封装下,其他类如果想使用单例,则继承可以实现

template< class T > class BaseSingle{public:static T* Instance(){if ( !mThis )mThis = new T;return mThis;}static T* mThis;};template< typename T >T* BaseSingle< T >::mThis = 0;

继承使用如:

class A : public BaseSingle<A>

{


}

使用

A::Instance().调用方法/属性



0 0
原创粉丝点击