站长网 语言 EasyC++,默认构造函数

EasyC++,默认构造函数

默认构造函数 上一篇文章当中介绍的是显式构造函数,也就是说我们需要传入值来对类的成员变量进行初始化。 但也有一些情况,我们可能并不需要传入值进行初始化,或者有一些其他的逻辑。针对这种情况,C++提供了默认构造函数的功能。所谓默认构造函数,也就

默认构造函数
上一篇文章当中介绍的是显式构造函数,也就是说我们需要传入值来对类的成员变量进行初始化。
 
但也有一些情况,我们可能并不需要传入值进行初始化,或者有一些其他的逻辑。针对这种情况,C++提供了默认构造函数的功能。所谓默认构造函数,也就是在没有提供显式的初始值时,用来创建对象的构造函数。
 
默认构造函数非常简单,还是以之前的Stock类为例:
 
Stock::Stock() {
 

 
}
如果默认构造函数里没有任何逻辑,我们也可以把它写在类声明里:
 
class Stock {
 

 
Stock() {}
 
};
 
#endif
C++当中有一个很奇怪的设定,当一个类我们没有提供任何构造函数时,C++会默认赋予它一个默认构造函数。但当我们一旦实现了构造函数之后,C++则不会进行如此操作。意味着对于定义了构造函数的类来说,想要使用默认构造函数,必须由程序员手动定义。
 
有了默认构造函数之后,我们才可以直接声明类的实例:
 
Stock stock1;
如果Stock类没有默认构造函数,那么上述的语句会报错。
 
实现默认构造函数,除了上述那样手动创建一个没有任何参数的构造函数之外,还可以将已有的构造函数的所有参数都设置默认值。
 
Stock(const string &co = "Error", int n = 0, double pr = 0.0);
由于只能有一个默认构造函数,所以不要同时采用这两种方式。
 

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/biancheng/yuyan/2021/1211/36488.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部