c++单例
#include <iostream>
using namespace std;
template < class T >
class Singleton
{
public:
static T* Instance() {
static T _instance ;
return &_instance ; }
protected:
Singleton() {}
private:
Singleton(const Singleton &) ;
Singleton& operator=(const Singleton&) ;
} ;
class ConcreteSingleton : public Singleton< ConcreteSingleton > {
public:
int v;
} ;
int main(){
ConcreteSingleton * p1=ConcreteSingleton::Instance();
ConcreteSingleton * p2=ConcreteSingleton::Instance();
p1->v=400;
p2->v=566;
cout<<p1->v;
return 1;
}
}
躲猫猫社团团长 http://t.sina.com.cn/coolria
浙公网安备 33010602011771号