3 4 5 6 Singleton 单例模板 - 11GX
首页 > Singleton 单例模板

Singleton 单例模板

 1 // singleton.h
 2 
 3 #ifndef SINGLETON_H
 4 #define SINGLETON_H
 5 
 6 // 单例基类模板
 7 template <class T>
 8 class Singleton
 9 {
10 public:
11     static T& give_me()
12     {
13         static T s_inst;
14         return s_inst;
15     }
16 
17 private:
18     // 禁止实现拷贝构造与拷贝赋值函数
19     explicit Singleton(const Singleton &rhs);
20     Singleton& operator = (const Singleton &rhs);
21 
22 protected:
23     explicit Singleton()    {}
24     virtual ~Singleton()    {}
25 };
26 
27 #endif // SINGLETON_H

 

 1 #ifndef TEST_MANAGER_H
 2 #define TEST_MANAGER_H
 3 
 4 #include "singleton.h"
 5 
 6 class TestManager : public Singleton
 7 {
 8     friend class Singleton;
 9 
10 private:
11     explicit TestManager();
12     virtual ~TestManager();
13 
14 public:
15     void func();
16 };
17 
18 #endif // TEST_MANAGER_H

 

转载于:https://www.cnblogs.com/suyunhong/p/4489116.html

更多相关:

  •  传统的实现方法:两私一公,涉及线程安全问题(即使有多重检查锁也可以通过反射破坏单例) public class Singleton {private volatile static Singleton instance = null;private Singleton () {}public static Singleton get...

  • 设计模式-单键(Signelton):其实单键的设计模式说来很简单,说的直白一点就是程序运行过程中保证只有一个实例在运行而已。在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。实现方法是将类的构造函数设置为私有,然后显示的提供一个方法来返回此对像的实例。   class...

  • 在C++有两种字符串流,一种在sstream中定义, 另一种在strstream中定义。 它们实现的东西基本一样。 strstream里包含 class strstreambuf; class istrstream; class ostrstream; class strstream; 它们是基于C类型字符串char*编写的...

  • 此文章完成度【100%】留着以后忘记的回顾。多写多练多思考,我会努力写出有意思的demo,如果知识点有错误、误导,欢迎大家在评论处写下你的感想或者纠错。     ORM介绍:对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程...

  • Bootstrap框架和inconfont、font-awesome使用 iconfont的使用:https://www.cnblogs.com/clschao/articles/10387580.html Bootstrap介绍   Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。  ...

  • Log4j->SLF4j->Logback是同一个人开发的 import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.Spr...

  • HTML页面代码块: 1 2 3 4 5 6

    -->