加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

EasyC++,默认构造函数

发布时间:2021-12-11 14:09:47 所属栏目:语言 来源:互联网
导读:默认构造函数 上一篇文章当中介绍的是显式构造函数,也就是说我们需要传入值来对类的成员变量进行初始化。 但也有一些情况,我们可能并不需要传入值进行初始化,或者有一些其他的逻辑。针对这种情况,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);
由于只能有一个默认构造函数,所以不要同时采用这两种方式。
 

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读