1 public class SingleObj
2 {
3 private static SingleObj OnlyOne = null;
4 private SingleObj()
5 {}
6 public static SingleObj getInstance()
7 {
8
9 if(OnlyOne = null) OnlyOne = new SingleObj();
10 return OnlyOne;
11
12 }
13 }
posted on 2007-02-08 09:23
-274°C 閱讀(533)
評(píng)論(1) 編輯 收藏 所屬分類:
計(jì)算機(jī)綜合
FeedBack:
# re: 單態(tài)設(shè)計(jì)模式
2008-04-22 21:43 |
C++ 寫了個(gè)單體模式:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class Logger
{
public:
static Logger* getInstance();
string name ;
protected:
Logger(){}
private:
static Logger* _instance;
};
Logger* Logger::_instance = 0;
Logger* Logger::getInstance()
{
if (_instance == 0)
{
_instance = new Logger;
}
return _instance;
}
//測(cè)試代碼
int _tmain(int argc,_TCHAR* argv[])
{
Logger* log = Logger::getInstance();
log->name = "test~~~~~~~~~~~~~~~~~~~~~";
cout << "編譯通過" << endl;
cout << log->name<< endl;
return 0;
}
回復(fù) 更多評(píng)論