我是靠谱客的博主 细腻期待,这篇文章主要介绍C++中static的一种应用:单例模式,现在分享给大家,希望可以做个参考。

单例模式:设计模式的一种,保证某个类永远只创建一个对象

  • 1.构造函数私有化
  • 2.定义一个私有的static成员变量指向唯一的那个单例对象
  • 3.提供一个公共的访问单例对象的接口
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream> using namespace std; class Person { private: static Person* teacher; //定义一个唯一的对象 Person() {} //构造函数私有化 Person(const Person& person) {} //将拷贝构造私有化 ~Person() {} //析构私有化 void operator=(const Person& person) {} //"="赋值运算符私有化 public: static Person* sharedTeacher() { //提供公共的接口 if (teacher == NULL) { //要考虑多线程安全 teacher = new Person(); } return teacher; } static void deletePerson() { if (teacher!=NULL) { //要考虑多线程安全 delete teacher; teacher = NULL; } } }; Person* Person::teacher = NULL; //唯一的对象初始化 int main(){ Person* p1 = Person::sharedTeacher(); Person* p2 = Person::sharedTeacher(); cout << p1 << endl; cout << p2 << endl; return 0; }

最后

以上就是细腻期待最近收集整理的关于C++中static的一种应用:单例模式的全部内容,更多相关C++中static内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部