linux 进去单例模式,在Linux下使用单件Singleton模式

概述:

singleton模式称作单件模式或单例模式。它的作用是确保一个类在整个工程中有且只有一个实例。可以在多个不同的类中很方便的所需要的类的方法。

应用领域:常用在游戏编程和多线程编程中,读取配置文件,写入日志。

原理:

它的构造函数是私有的,你不能去new 它。该单例类里面已经实例化好了一个了,并且是static的,并提供一个获取该实例的方法!客户端只能通过该方法获取这个已经实例化好了的,这样就保证了只有一个实例存在!

1. Singleton.h文件

/*

* Singleton.h

*/

#ifndef SINGLETON_H_

#define SINGLETON_H_

#include namespace GSingleton

{

template class Singleton

{

protected:

static T* mSingleton;

private:

Singleton()

{

assert(!mSingleton);

mSingleton=static_cast< T*>(this);

cout<

2. 类SubClass继承并实例化模板类Singleton

/*

* SubClass.h

*/

#ifndef SUBCLASS_H_

#define SUBCLASS_H_

#include "Singleton.h"

#include using namespace std;

class SubClass:public GSingleton::Singleton{

public:

SubClass();

virtual ~SubClass();

inline void Show()

{

static int s=0;

s++;

cout< SubClass* GSingleton::Singleton::mSingleton=0;

SubClass::SubClass()

{

}

SubClass::~SubClass()

{

}

3. 使用函数SubClass::Show()

#include "SubClass.h"

SubClass::getSingletonPtr()->Show();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值