【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;
}
相关推荐
Mr.Daozhi4 分钟前
跨境电商选品完整流水线:Google Trends筛词+Meta广告分析,CLI工具设计实战
开发语言·爬虫·python·跨境电商·工具链·选品
多彩电脑4 分钟前
Swift里字符串的索引
开发语言·swift
SoftLipaRZC4 分钟前
C语言预处理详解:从宏定义到条件编译
c语言·开发语言
会周易的程序员5 分钟前
C++ 对象池深度解析:架构设计与实现原理
开发语言·c++·物联网·iot·aiot
lilili也9 分钟前
C++:类
c++
L_09079 分钟前
【C++】智能指针
开发语言·c++·智能指针
程序猿乐锅10 分钟前
【苍穹外卖|Day02】后台接口自测闭环:Token、DTO 与 yml 配置
java·开发语言
春栀怡铃声19 分钟前
【C++修仙录02】筑基篇:适配器
c++
冰暮流星19 分钟前
javascript之对象的建立-使用Object
开发语言·javascript·ecmascript
qq_25183645727 分钟前
基于java 税务管理系统设计与实现
java·开发语言