标签:单例和工厂模式的实现
#pragma once
class Config
{
private:
static Config * con;
Config(void);
Config(const Config & con);//拷贝构造置为私有
public:
float cpu;
float memory;
float harddisk;
~Config(void);
//注意声明有static 静态。
static Config * getInstance();
void creatInstance();
//工厂模式声明
static Config * Create();
};
-----------------------------------------------------------------------------
Config::Config(void)
{
}
Config::~Config(void)
{
}
//单例模式返回类型为类指针,让构造方法和拷贝构造方法均为私有,保证只能创建一个类对象。
Config * Config::con = nullptr;
Config *Config::getInstance(){
if (con == nullptr)
{
con = new Config();
con->cpu = 3;
con->memory = 4;
con->harddisk = 512;
}
return con;
}
void creatInstance(){
}
//工厂模式创建
Config * Config::Create(){
Config *co = new Config();
return co;
主函数单例的调用:Config * cp = Config::getInstance();
}
标签:单例和工厂模式的实现
原文地址:http://7122819.blog.51cto.com/7112819/1538625