destroyer.h
来自「The article describes a smart binding of」· C头文件 代码 · 共 50 行
H
50 行
#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 + =
减小字号Ctrl + -
显示快捷键?