export class Spreadsheet {public:Spreadsheet(size_t width = 100, size_t height = 100);// 省略了一些内容以保持简洁};Spreadsheet构造函数的实现保持不变 。请注意 , 你只在方法声明中指定默认参数,而不是在定义中指定 。现在,尽管只有一个非复制构造函数 , 你仍然可以使用零个、一个或两个参数调用Spreadsheet构造函数:
Spreadsheet s1;Spreadsheet s2 { 5 };Spreadsheet s3 { 5, 6 };一个为所有参数提供默认值的构造函数可以作为默认构造函数 。也就是说,你可以在不指定任何参数的情况下构造该类的对象 。如果你尝试同时声明一个默认构造函数和一个为所有参数提供默认值的多参数构造函数 , 编译器会报错,因为如果你不指定任何参数,它不知道该调用哪个构造函数 。
【深入理解C++方法重载、内联与高级用法】
推荐阅读
- 探索 C++20 的新领域:深入理解 static 关键字和核心语言特性测试宏
- 理解window对象———BOM的核心
- 咎怎么读,“跋前踬后动辄得咎”怎么读怎样理解呢
- 对爱的理解 对爱的理解英文
- C++中函数参数的优秀传递方式
- 深入探究Java类继承与接口实现
- C++编译优化:如何优化编译器的输出代码质量
- 怎么理解 React Server Component 和 Next.js 的关系
- HBase详细介绍及原理解析!
- 深入理解SQL事务:保证数据的一致性和完整性
