西安网站制作 西安彩铃400电话,wordpress 简单模板,网站建设要求 牛商网,网站推广策略100例目录
1.提出的需求
2.如何定义一个类#xff0c;使得这个类最多只能创建一个对象#xff1f;
3.代码
4.小结 C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 1.提出的需求
在架构设计时使得这个类最多只能创建一个对象
3.代码
4.小结 C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 1.提出的需求
在架构设计时某些类在整个系统生命期中最多只能有一个对象存在( Single Instance)。
2.如何定义一个类使得这个类最多只能创建一个对象 要控制类的对象数目必须对外隐藏构造函数 思路 将构造函数的访问属性设置为 private定义instance 并初始化为 NULL当需要使用对象时访问instance 的值空值:创建对象并用instance 标记 非空值: 返回instance 标记的对象 3.代码
#include iostream
#include stringusing namespace std;
class SObject
{static SObject* c_instance;//1.将构造函数的访问属性设置为 private//拷贝构造声明成私有不使用
SObject(const SObject);//声明成私有不使用SObject operator (const SObject);//声明成私有不使用SObject(){}
public:static SObject* GetInstance();void print(){cout this this endl;}
};//静态成员变量类外初始化
//定义instance 并初始化为 NULL
SObject* SObject::c_instance NULL;//静态成员函数类外初始化
SObject* SObject::GetInstance()
{//当需要使用对象时访问instance 的值//空值:创建对象并用instance 标记//非空值: 返回instance 标记的对象if( c_instance NULL ){c_instance new SObject();}return c_instance;
}int main()
{SObject* s SObject::GetInstance();SObject* s1 SObject::GetInstance();SObject* s2 SObject::GetInstance();//唯一对象s-print();s1-print();s2-print();return 0;
} 4.小结 单例模式是开发中最常用的设计模式之一 单例模式的应用使得一个类最多只有一个对象