C++ 单例模式实现代码

来源:互联网 发布:淘宝菜筛 编辑:程序博客网 时间:2024/06/05 11:30
#pragma once
class singleton
{
public:
//static int a;
static singleton * getinstance()
{
if (!instance)
{
instance = new singleton();
}
return instance;
}

static void release()
{
if (!instance)
{
delete instance;
instance = NULL;
}


}
protected:
singleton()
{
//instance 
}
static singleton* instance;
};

singleton* singleton::instance = NULL;

这句话一定要有。。。居然忘记类静态成员怎么初始化的。。。C++类静态数据成员要放在全局空间初始化。

// C++面向对象编程练习.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include<iostream>
#include "vector.h"
#include "singleton.h"
#include "singleton.cpp"
using namespace std;


int main()
{
//int a = singleton::a;
//test 


singleton *s = singleton::getinstance();
singleton *s1 = singleton::getinstance();
if (s == s1)
{
cout << "YES"<< endl;
}
s->release();
return 0;
}


0 0
原创粉丝点击