64,639
社区成员
发帖
与我相关
我的任务
分享
//XXXXX.h文件
class CConfigure
{
public:
//其他数据
public:
static CConfigure* Instance();
private:
CConfigure();
CConfigure(const CConfigure&);
CConfigure& operator=(const CConfigure&);
~CConfigure();
private:
static CConfigure* _pInstance;
};
//XXXXX.cpp
//==================================================
//--Singletons
CConfigure* CConfigure::_pInstance = 0;
CConfigure* CConfigure::Instance()
{
if(_pInstance == 0)
{
_pInstance = new CConfigure;
}
return _pInstance;
}
//XX.h
class CA
{
public:
static CConfigure* _configure;
};
class CB
{
public:
static CConfigure* _configure;
};
//XX.cpp
CConfigure* CA::_configure = CConfigure::Instance();
CConfigure* CB::_Configure = CConfigure::Instance();
#include <iostream>
using namespace std;
class CConfigure
{
public:
//其他数据
public:
static CConfigure & Instance();
private:
CConfigure(){};
CConfigure(const CConfigure&);
CConfigure& operator=(const CConfigure&);
};
CConfigure & CConfigure::Instance()
{
static CConfigure c;
return c;
}
class CA
{
public:
CConfigure & _configure;
CA(CConfigure & cc):_configure(cc) {}
};
class CB
{
public:
CConfigure & _configure;
CB(CConfigure & cc):_configure(cc) {}
};
void main()
{
CConfigure & c=CConfigure::Instance();
CA A(c);
CB B(c);
}
//XX.h
class CA
{
public:
static CConfigure& _configure; //后来改成引用了
};
class CB
{
public:
static CConfigure& _configure; //后来改成引用了
};
#include <iostream>
using namespace std;
class Singleton {
int i;
Singleton(int a):i(a) {}
Singleton & operator=(Singleton &);
Singleton(const Singleton &);
public:
static Singleton & instance(int x)
{
static Singleton s(x);
return s;
}
};
int main()
{
Singleton & s=Singleton::instance(47);
return 0;
}
class CConfigure
{
public:
//其他数据
public:
static CConfigure* Instance();
private:
CConfigure() {};//这里至少要构造函数的定义,虽然不能在外面用,但是自己要用的.
CConfigure(const CConfigure&);
CConfigure& operator=(const CConfigure&);
~CConfigure();
private:
static CConfigure* _pInstance;
};
CConfigure(); ==》 CConfigure(){}