C++实现单例的例子(备忘录)

来源:互联网 发布:公司网络一会断一会好 编辑:程序博客网 时间:2024/06/05 19:27

单例的开发例子

#include <iostream>class Foo{public:static Foo* getInstance();int getVal();void setVal(int);private:Foo();~Foo();int val;static Foo* pInstance;};Foo::Foo(){val = 1;std::cout << "pInstance constructed" << std::endl;}Foo::~Foo(){delete pInstance;}Foo* Foo::pInstance = new Foo();Foo* Foo::getInstance(){return pInstance;}int Foo::getVal(){return val;}void Foo::setVal(int x){val = x;}//----------------------------------------------int main(){Foo* foo1 = Foo::getInstance();std::cout << foo1->getVal() << std::endl;Foo* foo2 = Foo::getInstance();std::cout << foo2->getVal() << std::endl;foo1->setVal(9);std::cout << foo1->getVal() << std::endl;std::cout << foo2->getVal() << std::endl;system("pause");return 0;}


测试结果:


单例还涉及到线程安全等问题,可以参考以下两篇文章:

http://blog.csdn.net/hackbuteer1/article/details/7460019

http://www.zkt.name/dan-li-mo-shi-singleton-ji-c-shi-xian/




0 0
原创粉丝点击