zoukankan      html  css  js  c++  java
  • C++单例模式之一见钟情

    什么是单例模式

    单例模式就是保证一个类有且只有一个实例对象的一种机制并且提供一个访问他的全局方法

    相信每个人都渴望纯洁的爱情,希望找到哪个唯一的他(她)。不管你是单身,还是已经成双成对,肯定都希望你的伴侣时唯一的!程序如人生,有些类我们也只希望它只有一个实例。

    代码:

    #include <iostream>
    using namespace std;
    
    //单例模式示例
    class Mybeatifulgirl
    {
    public:
        static Mybeatifulgirl * getgirlfriend(string name)
        {
            if (instance == NULL) {
                instance = new Mybeatifulgirl(name);
            }
            else
            {
                cout << "我只爱" << instance->name_ << endl;
                cout << "我对" << name << "置若罔闻" << endl;
            }
    
            return instance;
        }
    
    private:
        //私有的构造函数,防止外人私自调用
        Mybeatifulgirl(string name)
        {
            this->name_ = name;
            cout << "我对" << name_ << "一见钟情" << endl;
        }
        //声明一个静态实例,静态函数只能使用静态的数据成员。整个类中静态成员只有一个实例,通常在实现源文件中被初始化。
        static Mybeatifulgirl *instance;
        string name_;
    };
    
    Mybeatifulgirl * Mybeatifulgirl::instance = NULL;
    
    int main(void)
    {
        Mybeatifulgirl::getgirlfriend("mingming");
        Mybeatifulgirl::getgirlfriend("chilk");
    
        return 0;
    }
    
  • 相关阅读:
    SIMPLE QUERY几个原则
    [POI2014]DOO-Around the world
    Java 实现 蓝桥杯 历届试题 分糖果
    or小计
    luoguP1357 花园
    like小计
    [NOI2016]区间
    complex query几个原则
    AGC 018E.Sightseeing Plan——网格路径问题观止
    排查一般MySQL性能问题
  • 原文地址:https://www.cnblogs.com/Chlik/p/13558314.html
Copyright © 2011-2022 走看看