问题提出:
实现原理:
#include <iostream>
//在内存中只有一个对象,节省内存空间。
//避免频繁的创建销毁对象,可以提高性能。
//避免对共享资源的多重占用。
//可以全局访问。
using namespace std;
class CsystemControl
{
public:
static CsystemControl* Instance();//以自己实例为返回值的静态共有方法
public:
~CsystemControl();
public:
void print();
private:
CsystemControl();//构造函数私有
static CsystemControl* _instance;//指向自己实例的私有静态引用
};
CsystemControl *CsystemControl::_instance = NULL;
CsystemControl *CsystemControl::Instance()
{
if(_instance == NULL)
{
_instance = new CsystemControl;
}
return _instance;
}
CsystemControl::~CsystemControl()
{
delete _instance;
_instance = NULL;
}
CsystemControl::CsystemControl()
{}
void CsystemControl::print()
{
cout<<"Call the print method"<<endl;
}
int main(int argc, const char * argv[])
{
//单例模式
CsystemControl *p1 = CsystemControl::Instance();
p1->print();
CsystemControl *p2 = CsystemControl::Instance();
p2->print();
}