Files
TdGame/TdGame/manager.h

34 lines
472 B
C++

#pragma once
#ifndef _MANAGER_H_
#define _MANAGER_H_
//单例模板类
template <typename T>
class Manager
{
public:
static T* instance()
{
if (!manager)
manager = new T();
return manager;
}
private:
static T* manager;
protected:
Manager() = default;
~Manager() = default;
Manager(const Manager&) = delete;//删除拷贝构造函数
Manager& operator=(const Manager&) = delete;//删除赋值操作符
};
template <typename T>
T* Manager<T>::manager = nullptr;
#endif