默认构造函数
上一篇文章当中介绍的是显式构造函数,也就是说我们需要传入值来对类的成员变量进行初始化。
但也有一些情况,我们可能并不需要传入值进行初始化,或者有一些其他的逻辑。针对这种情况,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);
由于只能有一个默认构造函数,所以不要同时采用这两种方式。
EasyC++,默认构造函数
默认构造函数 上一篇文章当中介绍的是显式构造函数,也就是说我们需要传入值来对类的成员变量进行初始化。 但也有一些情况,我们可能并不需要传入值进行初始化,或者有一些其他的逻辑。针对这种情况,C++提供了默认构造函数的功能。所谓默认构造函数,也就
本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/biancheng/yuyan/2021/1211/36488.html