文章目录
前言
单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供全局访问点。
一、单例模式是什么?
单例模式是一种设计模式,用于确保一个类只有一个实例对象,并提供一个全局访问点。
二、代码创建步骤
1.写一个简单的单例模式类
代码如下(示例):
//单例子模式
class Stu
{
private:
Stu(){} //默认构造函数
Stu(const Stu &p){} //有参构造函数
static Stu *p;
public:
static Stu *singleton()
{
return p;
}
};
Stu *Stu::p = new Stu; //初始化static 的成员变量;
2.整体代码
代码如下(示例):
#include <iostream> //标准的输入输出流
#include<string.h>
#include<stdlib.h>
#include<cmath>
#include<time.h>
#include<string>
using namespace std;
//单例子模式
class Stu
{
private:
Stu(){} //默认构造函数
Stu(const Stu &p){} //有参构造函数
static Stu *p;
public:
static Stu *singleton()
{
return p;
}
};
Stu *Stu::p = new Stu; //初始化static 的成员变量;
int main(void)
{
Stu *p1 = Stu::singleton(); //相当于Stu *p1 = p = new Stu
Stu *p2 = Stu::singleton();
if(p1 == p2)
{
cout << "相等,没问题" << endl;
}
else{
cout << "不相等,有问题" << endl;
}
return 0;
}
总结
单例模式相当于巧妙的利用了static修饰的成员变量需要在全局声明,然后在类中在通过static函数返回static的对象,在main调用的时候直接声明对象接收静态函数的返回值,可以达到a = b = c的效果。
标签:模式,Stu,static,单例,思路,include,构造函数 From: https://blog.csdn.net/weixin_47378530/article/details/139675139