singleton 单例模式

来源:互联网 发布:java中九九乘法表 编辑:程序博客网 时间:2024/06/06 05:49
#include <iostream>using namespace std;class singleton{public:    void method(){ cout <<"singleton::method"<<endl; }    //...    static singleton *getInstance();    static singleton *instance;private:    singleton(){}};singleton *singleton::instance = NULL;singleton *singleton::getInstance(){    if (instance == NULL)    {        instance = new singleton();    }    return instance;}class singleton2{public:    void method(){ cout <<"singleton2::method"<<endl; }    static singleton2 *getInstance();private:    singleton2(){}};singleton2 *singleton2::getInstance(){    static singleton2 instance; //线程安全    return &instance;}int main(){    singleton *s1 = singleton::getInstance();    s1->method();    delete s1;    singleton2 *s2 = singleton2::getInstance();    s2->method();    return 0;}

0 0
原创粉丝点击