ylww

随笔仅作学习记录,请辩证参考!!!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.写一个头文件(仅头文件)

#ifndef _SINGLETON_H_
#define _SINGLETON_H_


template <typename T>
class Singleton
{
public:
static T* getInstance()
{
static T s_instance;
return &s_instance;
}

Singleton(T&&) = delete;
Singleton(const T&) = delete;
void operator= (const T&) = delete;

protected:
Singleton() = default;
virtual ~Singleton() = default;
};
#endif

2.创建一个类继承自上面的类,记得要提供模版参数

class FileFunction : public Singleton<FileFunction>
{
public:

  xxx

};

3.调用时,直接通过FileFunction来调用静态方法:FileFunction::getInstance().

posted on 2023-07-05 11:27  理想主义者光芒万丈  阅读(6)  评论(0编辑  收藏  举报