zoukankan      html  css  js  c++  java
  • C++语言 实现类对象的单模式创建

    //C++语言 实现类对象的单模式创建
    //对于单例模式而言,既然要保证类有且仅有一个实例,就需要其他的类不能实例化该类.
    //因此,需要将构造方法设置成私有的,即使用private关键字修饰.
    //同时,在类中提供一个静态方法,该方法的返回值是该类的一个实例.
    
    #include "stdafx.h"
    #include "iostream.h"
    class Emperor
    {
    private:
        static Emperor *pEmperor;
        static int count;
        Emperor()
        {
            count++;
        }
    public: 
        static Emperor getInstance()
        {
            if(pEmperor == NULL)
            {
                pEmperor = new Emperor();
            }
            return *pEmperor;
        }
        void getName()
        {
            cout << "我是第" << count << "次创建的实例" << endl;
        }
    };
    Emperor * Emperor::pEmperor = NULL;
    int Emperor::count = 0;
    
    int main(int argc, char* argv[])
    {
        //printf("Hello World!\n");
        cout << "创建1对象:" << endl;
        Emperor emperor1 = Emperor::getInstance();
        emperor1.getName();
        cout << "创建2对象:" << endl;
        Emperor emperor2 = Emperor::getInstance();
        emperor2.getName();
        emperor2.getInstance();
        cout << "创建3对象:" << endl;
        Emperor emperor3 = Emperor::getInstance();
        emperor3.getName();
        emperor3.getInstance();
    
        return 0;
    }
    学习笔记转摘于: 丝酷网 http://www.pythonschool.com/
  • 相关阅读:
    Day-5 python
    Day-2 python
    OCR技术浅探
    yael图像检索库
    编程语言
    BOW模型和SIFT特征
    汉明嵌入
    Lua1.1 Lua 的参考手册 (三)
    Lua1.1 Lua 的参考手册 (二)
    Lua1.1 Lua 的参考手册 (一)
  • 原文地址:https://www.cnblogs.com/pythonschool/p/2766254.html
Copyright © 2011-2022 走看看