单例和工厂模式的创建

#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();

}

 

你可能感兴趣的:(单例,工厂模式)