栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

单例模式案例 – 首相

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

单例模式案例 – 首相

2.1 目的 为了让类中只有一个实例,实例不需要自己释放
2.2 将 默认构造 和 拷贝构造 私有化
2.3 内部维护一个 对象指针
2.4 私有化唯一指针
2.5 对外提供 getInstance方法来访问这个指针
2.6 保证类中只能实例化唯一一个对象

#define _CRT_SECURE_NO_WARNINGS
#include
#include

using namespace std;

//创建首相类
//需求 单例模式  为了创建类中的对象,并且保证只有一个对象实例
class PrimeMinister {
public:	
	//提供 get方法 访问 首相
	static PrimeMinister* getInstance() {
		return singleMan;
	}

private:
	//1构造函数 进行私有化
	PrimeMinister() {
		cout << "单例模式案例——首相案例" << endl;
	}

	//拷贝构造 私有化
	PrimeMinister(const PrimeMinister &premier) {

	}

	static PrimeMinister *singleMan;
};

PrimeMinister *PrimeMinister::singleMan = new PrimeMinister;

void test01() {
	

	

	//PrimeMinister::singleMan = NULL;

	PrimeMinister *premier1 = PrimeMinister::getInstance();
	PrimeMinister *premier2 = PrimeMinister::getInstance();

	if (premier1 == premier2) {
		cout << "premier1和premier2相同" << endl;
	}
	else {
		cout << "premier1和premier2不相同" << endl;
	}

	
}
int main(){
	cout << "main调用" << endl; //主席创建先于main调用
	test01();
	
	system("pause");
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号