一: 单例模式的作用:一般数据库的连接对象只有一个,这个时候就需要用到单例模式
二 :单例的特点: 1 单例的构造函数是私有成员 2 有一个静态成员变量 3 有 一个静态成员函数
三:代码
#include<iostream>
#include<windows.h>
class Mysql{
public:Mysql(){
std::cout<<"mysql 构造函数"<<"\n";
}
};
class Singleton{
public:
static Mysql * obj;
static Mysql * get_singleton(){
if(obj == NULL){
obj = new Mysql();
}
return obj;
}
private:
Singleton(){
std::cout<<"Singleton 构造函数"<<"\n";
}
};
Mysql * Singleton::obj = NULL;//题外话:类的静态成员必须在类外初始化
void main(){
Mysql * mysql_1= Singleton::get_singleton();//只有这里会调用Mysql的构造函数
Mysql * mysql_2= Singleton::get_singleton();//
system("pause");
}