单件模式的又一种实现

2014-11-24 11:02:58 · 作者: · 浏览: 0

这是一个C++单件模式板类的一种实现,这个类的实现有别于传统的用继承或者宏的方式来实现。
这里的singleton_holder实际上是类的包装器。

template
class singleton_holder
{
public:
typedef T obj_type;
static T& instance()
{
static T obj;
return obj;

}

private:
singleton_holder();
singleton_holder(const singleton_holder& s);
singleton_holder& operator=(const singleton_holder& s);
~singleton_holder();

};

class application_impl
{
public:
void run()
{
std::cout<<“this is a testb”< }

}

typedef singleton_holder application;
void main()
{
application::obj_type& app = application::instance();
app.run();


作者:tbw