当前位置: 首页 > 科技观察

EasyC++,默认构造函数

时间:2023-03-20 10:37:38 科技观察

大家好,我是梁唐。上一篇介绍的默认构造函数是显式构造函数,也就是说我们需要传入一个值来初始化类的成员变量。但是也有一些情况我们可能不需要传入值进行初始化,或者有一些其他的逻辑。针对这种情况,C++提供了默认构造函数的功能。所谓默认构造函数就是在没有提供显式初始值时用于创建对象的构造函数。默认构造函数非常简单。以前面的Stock类为例:Stock::Stock(){...}如果默认构造函数中没有逻辑,我们也可以在类声明中这样写:classStock{...Stock(){}};#endifC++中有一个很奇怪的设置,当我们不为一个类提供任何构造函数时,C++会默认给它一个默认的构造函数。但是一旦我们实现了构造函数,C++就不会这样做了。也就是说,对于一个定义了构造函数的类,如果要使用默认构造函数,必须由程序员手动定义。使用默认构造函数,我们可以直接声明类的实例:Stockstock1;如果Stock类没有默认构造函数,那么上面的语句就会报错。要实现默认构造函数,除了如上所述手动创建一个不带任何参数的构造函数外,还可以为现有构造函数的所有参数设置默认值。库存(conststring&co="错误",intn=0,doublepr=0.0);由于只能有一个默认构造函数,因此不要同时使用这两种方法。