设计模式-第1讲-单例

单例模式的要点

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值