【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;
}
相关推荐
qq_406176141 分钟前
吃透JS异步编程:从回调地狱到Promise/Async-Await全解析
服务器·开发语言·前端·javascript·php
@大迁世界5 分钟前
停止使用 innerHTML:3 种安全渲染 HTML 的替代方案
开发语言·前端·javascript·安全·html
jojo_zjx8 分钟前
GESP 25年12月1级 手机电量显示
c++
jun_bai10 分钟前
conda环境配置nnU-Net生物医学图像分割肺动脉静脉血管
开发语言·python
程序员zgh17 分钟前
C语言 弱定义机制 解读
c语言·开发语言·c++
Hi_kenyon17 分钟前
JS中的export关键字
开发语言·javascript·vue.js
少控科技18 分钟前
QT高阶日记007
开发语言·qt
把csdn当日记本的菜鸡27 分钟前
Java设计模式简单入门
java·开发语言·设计模式
宵时待雨30 分钟前
数据结构(初阶)笔记归纳6:双向链表的实现
c语言·开发语言·数据结构·笔记·算法·链表
xixi092433 分钟前
selenium——浏览器基础操作(启动/访问/窗口控制)
开发语言·python