关于C#的一个问题:为什么要私有默认构造函数?

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:24:35
理解的还不够很透彻。我知道如何私有一个构造函数,也知道私有化一个默认构造函数是为了安全,防止类在外部被实例化。但是就算被实例化了又怎么样?无非就是类中的方法、属性、字段可以被对象使用;可以申明一个这种类 类型的变量(也许叫做对象更合适,只是申明方法跟申明一个变量很像。)

但是,在大多数情况下,为什么要私有默认构造函数??还是不理解。没什么编程经验,望大家解答

因为要构造SingleTon
也就是只有一个实例

给你个例子
class Config
{
private:
Config(){};
public:
static Config* Instance();
int GetConfig(){return data;}
int SetConfig(int m_data){data=m_data;return data;}
private:
static Config* _instance;
int data;
};

Config* Config::_instance = NULL;

Config* Config::Instance()
{
if(_instance==NULL)
{
_instance=new Config;
}
return _instance;
}

当一个类的成员不需要或者不宜被实例化的时候,定义私有的构造函数就可以防止被错误地实例化。