C++实现单例模式

单例模式:只能生成一个实例的类即是实现了Singleton模式的类型。

#include <iostream>

using namespace std;

class singleton
{
public :
    static singleton* getInstance();
private:
    singleton();
    static singleton* instance;
    static int num;
};
int singleton::num = 0;
singleton* singleton::instance = nullptr;

singleton::singleton()
{
    num++;
    cout << num <<"singleton is created!" << endl;
}

singleton* singleton::getInstance()
{
    if(instance == nullptr)
    {
        instance = new singleton;
    }
    return instance;
}

int main()
{
    singleton* instance = singleton::getInstance();
    return 0;
}

 

posted @ 2015-04-27 23:57  希隆囚徒  阅读(266)  评论(0编辑  收藏  举报