一 概述
假如我们无法确定所要创建的长方形的长和宽,也就是说我们不提供一个构造函数
二 代码及结果
2.1 代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include<iostream> using namespace std; class rectangel {
private: int width; int length; public: rectangel(int w, int l) { width = w; length = l; } rectangel(){cout<<"默认构造函数在运行"<<endl;} int area() { return width * length; } }; int main() { rectangel a(3, 4); cout << "长方形面积为:" << a.area() << endl; rectangel b; cout << "长方形面积为:" << b.area() << endl; return 0; }
|
2.2 结果
1 2 3
| 长方形面积为:12 默认构造函数在运行 长方形面积为:0
|
2.3 说明
- 假如我们不提供一个构造函数,那么系统会为我们自动创建一个构造函数,该函数什么参数也没有,而且也不执行任何功能,它的作用只是构造一个对象
- 一般来说,只要我们不创建任何构造函数,那么系统就会默认为我们创建这个什么功能都没有的默认构造函数,而一旦我们创建了一个构造函数,那么这个默认构造函数就会被自动屏蔽
- 也就是说,只要我们创建了一个构造函数,那么系统就不会再为我们提供默认构造函数了
- 我们可以创建多个构造函数。比如说我们可以创建一个类似默认构造函数的不带参数的构造函数,同时也可以创建一个带参数的构造函数