首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于SINGLTON在C++里如何实现

2012-02-21 
关于SINGLTON在C++里怎么实现昨天面试被问了个问题C++里怎么实现singlton.本人对这种抽象的东西比较迷茫,

关于SINGLTON在C++里怎么实现
昨天面试被问了个问题
C++里怎么实现singlton.
本人对这种抽象的东西比较迷茫,高分求教,希望有人解释下.越详细越好,谢谢!

[解决办法]
你说的是Singleton吧。单身模式,意即只能产生一个实例的类。如放配置信息时

class Singleton{
public:
static Singleton* Instance();
protected:
Singleton();
private:
static Singleton* _instance;
};


Singleton* Singleton::_instance;
Singleton* Singleton::Instance(){
if( _instance == 0){
_instance = new Singleton;
};
return _instance;



[解决办法]
class test
{
test&instance()
{
static test x;
return x;
}
private:
test(){}
test(const test&);
}

[解决办法]

C/C++ code
//Singleton.h#ifndef _SINGLETON_H_#define _SINGLETON_H_#include <iostream>using namespace std;class Singleton{public:static Singleton* Instance();protected:Singleton();private:static Singleton* _instance;};#endif //~_SINGLETON_H_//Singleton.cpp#include "Singleton.h"#include <iostream>using namespace std;Singleton* Singleton::_instance = 0;Singleton::Singleton(){cout<<"Singleton...."<<endl;}Singleton* Singleton::Instance(){if (_instance == 0){_instance = new Singleton();}return _instance;}//main.cpp#include "Singleton.h"#include <iostream>using namespace std;int main(int argc,char* argv[]){Singleton* sgn = Singleton::Instance(); 

热点排行