概述
单例模式:设计模式的一种,保证某个类永远只创建一个对象
- 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的一种应用:单例模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复