编写头文件Singleton.h
/*单列模式*/
class Singleton {
public:
/*暴露给外部获取实例*/
static Singleton* getInstance();
private:
/*私有构造*/
Singleton();
/*私有拷贝构造*/
Singleton(const Singleton& single);
//默认实例对象
static Singleton* singletoner;
};
编写实现文件Singleton.cpp
#include "Singleton.h"
Singleton::Singleton() {};
Singleton::Singleton(const Singleton& single) {};
//暴露给外部获取实例方法
Singleton* Singleton::getInstance() {
return singletoner;
}
//实例静态成员变量
Singleton* Singleton::singletoner = new Singleton();
编写测试类main.cpp
#include "Singleton.h"
#include <iostream>
using namespace std;
int main() {
Singleton* s = Singleton::getInstance();
Singleton* s1 = Singleton::getInstance();
if (s==s1) {
cout << "s==s1" << endl;
}
return 0;
}
注意:本文归作者所有,未经作者允许,不得转载