http://blog.csdn.net/hitexam/article/details/6316702 - #include
- class A
- {
- public:
- static A* getInstance()
- {
- if(a==NULL)
- a = new A;
- return a;
- }
- void setB(QString tmp){b = tmp;}
- QString getB(){return b;}
- private:
- QString b;
- A(){}
- static A* a;
- };
- A* A::a = NULL;
- int main()
- {
- A *aa = A::getInstance();
- aa->setB("10");
- qDebug() << aa->getB();
- A *bb = A::getInstance();
- bb->setB("20");
- qDebug() << aa->getB();
- qDebug() << "aa:" << aa << "bb:" << bb;
- return 0;
- }
输出:
"10"
"20"
aa: 0x9e7e438 bb: 0x9e7e438
都是同一实例
|