首页 > 其他 > 详细

设计模式之单例模式

时间:2014-07-27 10:25:12      阅读:188      评论:0      收藏:0      [点我收藏+]

单例模式

目的:

Ensure a class only has one instance, and provide a global point of access to it.

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

C++实现 

在类中,定义一个私有静态成员对象;将构造函数也定义为私有的,保证类只有一个实现;提供一个公有静态成员函数,用来返回类内唯一的构造实例。

示例代码

bubuko.com,布布扣
//Singleton.h

#include <iostream>
using namespace std;

class Singleton
{
private:
    static Singleton *minstance;
    Singleton();
public:
    static Singleton *getInstance();
};

//Singleton.cpp

Singleton::Singleton()
{
    cout<<"private construct singleton"<<endl;
}

Singleton* Singleton::minstance =NULL; //必须在此处声明,否则报错

Singleton * Singleton::getInstance()
{
    if (minstance==NULL)
    {
        minstance=new Singleton();
    }
    
    return minstance;
}

//main.cpp
#include "Singleton.h"

void main()
{
    Singleton* singleton1 = Singleton::getInstance();
    Singleton* singleton2 = Singleton::getInstance();

    if (singleton1 == singleton2)
        fprintf(stderr,"singleton1 = singleton2\n");


    return;

}
View Code

 

参考资料

戏说Singleton模式

C++中的单例模式

3 C++设计模式--单例模式

 

设计模式之单例模式

原文:http://www.cnblogs.com/gjianw217/p/3870711.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!