您的位置:首页 > 编程语言 > C语言/C++

C++ 单例模式实现代码

2016-03-12 14:48 513 查看
#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;

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