我是靠谱客的博主 细腻期待,最近开发中收集的这篇文章主要介绍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的一种应用:单例模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部