【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;
}
相关推荐
莱茵菜苗6 分钟前
Python打卡训练营day46——2025.06.06
开发语言·python
爱学习的小道长7 分钟前
Python 构建法律DeepSeek RAG
开发语言·python
luojiaao34 分钟前
【Python工具开发】k3q_arxml 简单但是非常好用的arxml编辑器,可以称为arxml杀手包
开发语言·python·编辑器
终焉代码35 分钟前
STL解析——list的使用
开发语言·c++
SoFlu软件机器人37 分钟前
智能生成完整 Java 后端架构,告别手动编写 ControllerServiceDao
java·开发语言·架构
英英_44 分钟前
视频爬虫的Python库
开发语言·python·音视频
DevangLic1 小时前
【 *p取出内容 &a得到地址】
c++
猛犸MAMMOTH1 小时前
Python打卡第46天
开发语言·python·机器学习
鑫鑫向栄1 小时前
[蓝桥杯]修改数组
数据结构·c++·算法·蓝桥杯·动态规划
鑫鑫向栄1 小时前
[蓝桥杯]带分数
数据结构·c++·算法·职场和发展·蓝桥杯