C++设计模式之单例模式

来源:互联网 发布:sql语句建表 列名别名 编辑:程序博客网 时间:2024/06/07 18:50

  在游戏开发过程中,我们时常会遇到单例模式的运用场景。比如你游戏当中的最终BOSS,你希望你的BOSS只能有一个,所以这里你就可以用单例模式;那么什么是单例模式呢?看下面的代码分析。

#include <cstdlib>#include <iostream>using namespace std;class Singleton{private:    static Singleton* instance;    Singleton()    {    }    public:        static Singleton* GetInstance()    {        if (instance == NULL)        {            instance = new Singleton;            cout << "I am new!" << endl;        }                     return instance;    }        void TestOut()    {        cout << "void TestOut()" << endl;         }};Singleton* Singleton::instance = NULL;int main(int argc, char *argv[]){    //Singleton* s1 = new Singleton;//不能再new出对象了     Singleton* s2 = Singleton::GetInstance();    Singleton* s3 = Singleton::GetInstance();        Singleton::GetInstance()->TestOut();    cout << s2 << endl;    cout << s3 << endl;        system("PAUSE");    return EXIT_SUCCESS;}
上面就实现了一个单例类,把构造函数私有之后,你就不能在new出新的对象,而且你每次获取到的对象都只有一个,所以这样我们游戏中的最终BOSS只能有一个。

0 0
原创粉丝点击