c++ (单例模式)

c++ (单例模式)

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

//创建主席类
//需求 单例模式  为了创建类中的对象,并且保证只有要给对象实例
class ChairMan
{
public:
	//提供get方法 访问主席
	static ChairMan * getInstance() {
		return singleMan;
	}
	~ChairMan() {
	}
private:
	static ChairMan *singleMan;
	//构造函数私有化
	ChairMan() {
		cout << "创建时就构造了" << endl;
	}
	//拷贝构造函数私有化
	ChairMan(const ChairMan &p) {
	}
};
ChairMan * ChairMan::singleMan = new ChairMan;
void test01()
{
//	ChairMan *cm = ChairMan::singleMan;
//	ChairMan *cm2 = ChairMan::singleMan;
	ChairMan *cm = ChairMan::getInstance();
	ChairMan *cm2 = ChairMan::getInstance();
	if (cm == cm2)
	{
		cout << "两个地址相同" << endl;
	}
	/*
	ChairMan *cm3 = new ChairMan(*cm2);
	if (cm2 == cm3)
		cout << "相同" << endl;
	else
		cout << "不相同" << endl;
	*/
}
//运行时才开始调用main函数
int main()
{
	cout << "main调用了" << endl;
	test01();
	return 0;
}

线程安全的单例模式

[直通车]https://blog.csdn.net/weixin_39828926/article/details/87565520

posted on 2021-04-23 10:03  lodger47  阅读(40)  评论(0)    收藏  举报

导航