C++?????????
???????????? ???????[ 2013/1/17 10:16:53 ] ????????
???????Singleton?????????????????
????Singleton??ò?????new????????洢??????new?????????????????????????????????????????壬???????????????????ó?????????????????delete?????????????????????????????????????????????????Singleton???????????????????????á????????????????????涯?????????????????????????????????????????????GetInstance()???в?????????????????????????????
CSingleton* CSingleton :: GetInstance()
{
static CSingleton inst??
return &inst??
}
?????????????????inst?????ε???GetInstance()?????????????????????ó???????????m_pInstance??????????????????????????????????????????????ó????????????????????????????????????????
??????????
//?汾?
#include <iostream>
using namespace std;
//???????C++???
class Singleton
{
private:
Singleton();//???:?????????
static Singleton* instance;//Ω????
int var;//???????(???????)
public:
static Singleton* GetInstance();//????????(??????????)
int getVar();//???var???
void setVar(int);//????var???
virtual ~Singleton();
};
//?????????
Singleton::Singleton()
{
this->var = 20;
cout<<"Singleton Constructor"<<endl;
}
Singleton::~Singleton()
{
cout<<"Singleton Destructor"<<endl;
//delete instance;
}
//???????????
/*Singleton* Singleton::instance=NULL;
Singleton* Singleton::GetInstance()
{
if(NULL==instance)
instance=new Singleton();
return instance;
}*/
Singleton* Singleton::instance=new Singleton;
Singleton* Singleton::GetInstance()
{
return instance;
}
//seter && getter????
int Singleton::getVar()
{
return this->var;
}
void Singleton::setVar(int var)
{
this->var = var;
}
//main
void main()
{
Singleton *ton1 = Singleton::GetInstance();
Singleton *ton2 = Singleton::GetInstance();
if(ton1==ton2)
cout<<"ton1==ton2"<<endl;
cout<<"ton1 var = "<<ton1->getVar()<<endl;
cout<<"ton2 var = "<<ton2->getVar()<<endl;
ton1->setVar(150);
cout<<"ton1 var = "<<ton1->getVar()<<endl;
cout<<"ton2 var = "<<ton2->getVar()<<endl;
delete Singleton::GetInstance();//????????????
}
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11