單件模式
將建構函式設為私有,用靜態函式初始化和返回全域性唯一的例項。
class one
{
private:
static one* _o;
int _i;
one():_i(0){}
~one(){}
public:
static one* get() {if(!_o)_o = new one; return _o;}
void add(){_i++;}
void pnt(){cout << _i << endl;}
};
one* one::_o = NULL;
int main()
{
one* o1 = one::get();
for(int i=0; ++i<100; o1->add());
o1->pnt();
one* o2 = one::get();
o2->pnt();
return 0;
}
單件模式在子程式見也是唯一的。
int main()
{
one* o1 = one::get();
o1->add();
o1->add();
if(fork() == 0)
{
one* o2 = one::get();
printf("o2: %x\n", o2);
o2->pnt();
exit(0);
}
printf("o1: %x\n", o1);
o1->pnt();
return 0;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26239116/viewspace-2123700/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 單件模式使用小技巧模式
- 《Head First 設計模式》:單件模式設計模式
- php設計模式總結-單件模式PHP設計模式
- 建立型模式 --- 單件模式(Singleton Pattern)模式
- 設計模式--單件模式Singleton(建立型)設計模式
- 單件模式的實現要點模式
- 設計模式入門(1)------單件(Singleton) (轉)設計模式
- 策略模式+單例模式+簡單工廠模式:推送服務模式單例
- 設計模式-單例模式、多例模式設計模式單例
- 設計模式-單例模式設計模式單例
- [設計模式] 單例模式設計模式單例
- 設計模式 —— 單例模式設計模式單例
- 設計模式(單例模式)設計模式單例
- 建立型模式:單例模式模式單例
- 創造模式 單例模式模式單例
- 設計模式——單例模式設計模式單例
- 設計模式--單例模式設計模式單例
- javascript 模式(2)——單例模式JavaScript模式單例
- 建立型模式————單例模式模式單例
- 設計模式 單例模式設計模式單例
- 單利模式模式
- 單例模式單例模式
- javascript設計模式單例模式簡單介紹JavaScript設計模式單例
- 單例模式,真不簡單單例模式
- 建立型模式-單例模式-工廠模式模式單例
- 設計模式-單例模式,觀察者模式設計模式單例
- 設計模式一(單例模式)設計模式單例
- 設計模式之☞單例模式設計模式單例
- PHP設計模式-- 單列模式PHP設計模式
- Java設計模式–單例模式Java設計模式單例
- Java設計模式——單例模式Java設計模式單例
- Java設計模式--單例模式Java設計模式單例
- 建立者模式之單例模式模式單例
- js設計模式--單例模式JS設計模式單例
- Java設計模式 | 單例模式Java設計模式單例
- 設計模式之單例模式設計模式單例
- Java設計模式【單例模式】Java設計模式單例
- 設計模式之---單例模式設計模式單例