您的位置:首页 > 其它

设计模式2---单件模式

2013-02-24 19:59 211 查看
//单件设计模式练习

#ifndef _SIGLE_H_

#define _SIGLE_H_

#include <stdio.h>

class Single

{

public :

static Single* Instance()

{

if(m_instance==NULL)//这句是关键,千万不能丢下

{

m_instance=new Single();

}

counter++;

return m_instance;

}

void set(int a)

{

m_data=a;

}

void get()

{

printf("m_data=%d\n",m_data);

}

~Single()

{

printf("xigou\n");

}

void releaseinstance()

{

counter--;

if(counter==0)

{

delete m_instance;

}

}

private:

int m_data;

static int counter;

Single()

{

m_data=0;printf("构造函数\n");

}

static Single* m_instance;

};

int Single::counter=0;

----------------------------------------------------------------------------------cpp-------------------------------------------------------------

#include "stdafx.h"

#include "Single.h"

Single *Single::m_instance=NULL;//静态成员变量初始化,不要忘记

int main(int argc, char* argv[])

{

Single *p1=Single::Instance();

Single *p2=Single::Instance();

p1->set(5);p1->get();

p1->get();

return 0;

}

#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: