⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 destroyer.h

📁 The article describes a smart binding of C++ objects February, 2009: Version 1.0 Environment: Visu
💻 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 + -