想象有个SceneManager(很多3D引擎中常有这样的类),这个Manager必须只有一个实例,那么就可用单例模式来实现
#include<iostream>
using namespace std;
class SceneManager{
static SceneManager singleton;
int i;
SceneManager(int ii):i(ii){}
SceneManager(const SceneManager&);
public:
static SceneManager* getSingleton(){return &singleton;}
int val() const {return i;}
};
SceneManager SceneManager::singleton(21);
int main(){
int a;
cout<<SceneManager::getSingleton()->val()<<endl;
cin>>a;
}