📄 destroyer.h
字号:
#ifndef __Destroyer_H
#define __Destroyer_H
template <typename SINGLETON>
class Destroyer
{
public:
// Constructor
Destroyer (SINGLETON* = null);
// Destructor
~Destroyer ();
void SetObject (SINGLETON* object);
private:
// Prevent users from making copies of a
// Destroyer to avoid double deletion:
Destroyer (const Destroyer<SINGLETON>& object);
void operator= (const Destroyer<SINGLETON>& object);
protected:
SINGLETON* singleton_;
};
//////////////////////////////////////////////////////////////////////////
// Destroyer
//////////////////////////////////////////////////////////////////////////
template <typename SINGLETON>
Destroyer<SINGLETON>::Destroyer (SINGLETON* singleton)
{
singleton_ = singleton;
}
template <typename SINGLETON>
Destroyer<SINGLETON>::~Destroyer()
{
if (singleton_)
delete singleton_
;
}
template <typename SINGLETON>
void Destroyer<SINGLETON>::SetObject (SINGLETON* object)
{
singleton_ = object;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -