【C++】单例模式

  • 工厂模式:一个类型可以批量生产无数个对象
  • 单例模式:一个类型只允许生产一个对象

单例模式是一种常用的软件设计模式。通过单例模式可以保证系统中应用该模式的类只有一个实例化对象。

单例模式的类中

  • 提供私有属性下的构造函数(默认的拷贝构造就够了)
  • 包含一个本身这个类的私有的静态对象(指针或实例化的对象,几乎写的都是指针的)
  • 提供一个静态的公有函数去创建或获取这个私有的对象或者对象指针(一般是对象指针)

示例:

c++ 复制代码
#include<iostream>
using namespace std;

class Single {
private:
	Single(){}
	Single(const Single& s){}//防止对象在类外被创建和拷贝
	static Single* pSingle;
public:
	static Single* getSingle(){
		return pSingle;
	}
	void speak() {
		cout << "我是单例模式" << endl;
	}
};
Single* Single::pSingle = new Single;
int main() {
	Single* p = Single::getSingle();
	p->speak();
	delete p;
}
相关推荐
jieyucx3 分钟前
Go 语言进阶:结构体指针、new 关键字与匿名结构体/成员详解
开发语言·后端·golang·结构体
wjs202413 分钟前
jEasyUI 添加复选框指南
开发语言
迪霸LZTXDY15 分钟前
U-NET模型训练--图像标注脚本工具
开发语言·python
码界筑梦坊15 分钟前
119-基于Python的各类企业排行数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·fastapi
习明然16 分钟前
记录下解决Python在windows 2008 Server 无法启动
开发语言·windows·python
凯瑟琳.奥古斯特18 分钟前
IP组播跨子网传输核心技术解析
java·开发语言·网络·网络协议·职场和发展
蜡笔小马19 分钟前
09.C++设计模式-外观模式
c++·设计模式·外观模式
xyq202422 分钟前
Razor VB 循环
开发语言
晚会者荣24 分钟前
C++11_3:包装器,智能指针
c++
古城小栈24 分钟前
Bun从Zig迁移至Rust:有何重大意义?
开发语言·后端·rust