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

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

  • 1.构造函数私有化
  • 2.定义一个私有的static成员变量指向唯一的那个单例对象
  • 3.提供一个公共的访问单例对象的接口
#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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部