默认构造函数就是不提供显示的(包含没有参数和默认参数)初始化值,被用来创建对象的构造函数。
用于下面这种声明的构造函数
Stock stock1;
注:
当且仅当没有定义任何构造函数的时候,编译器才会提供默认构造函数,
当我们定义了构造函数,那么我们就必须提供默认构造函数,如
Stock(const char *co, int n, double pr); 这个是构造函数,但不是默认构造函数,如果我们不提供默认的构造函数,这将出错
要完成它对就的构造函数有两种:
1、函数重载,没有参数的构造函数
Stock(){}
2、给已有构造函数的所有参数提供默认值
Stock(const char *co = "Error", int n = 0, double pr = 0.0);
由于只能有一个默认构造函数,因此不能同时采用上面两种默认构造函数
使用上上面任意一种方式创建了默认构造函数后,便可以声明对象变量,而不对它们进行显示初始化:
隐式调用默认构造函数不要用();
Stock stock1; //隐式调用默认构造函数