C++ 构造函数:使用默认参数灵活创建对象
构造函数是类中的特殊成员函数,在创建对象时会自动调用它。这些用于使用值或默认设置初始化对象。
而 C++ 中的默认参数允许为函数或构造函数参数指定默认值。
带默认参数的构造函数
具有默认参数的构造函数是允许使用可选参数创建对象的构造函数。其中提供了参数的默认值,因此当用户不传递任何值时,将使用默认值。
语法
以下是带有默认参数的构造函数的语法:
<前>07前>- 这里,构造函数与类同名
- 为一个或多个参数提供默认值。
- 如果用户未传递任何值,则将使用此默认值。
带默认参数的构造函数示例
以下是带有默认参数的构造函数的示例:
<前>16前>输出
<前>24前>说明
- 函数 printMessage() 创建后,给出默认值“Hello, Tutorialspoint Learner”的参数。
- 现在在 main() 中,printMessage() 调用函数时不带任何参数,因此使用默认参数“Hello, Tutorialspoint Learner”。
- 而 printMessage("嗨,那里!") ,我们显式传递了值“Hi,there!”所以这将覆盖默认参数。
具有多个默认参数的构造函数
具有多个默认参数的构造函数使用户能够为多个参数指定默认值。这提供了更大的灵活性和访问任意参数组合的能力。
示例
以下是具有多个默认参数的构造函数的示例:
<前>38前>输出
<前>46前>说明
- 首先,类box定义了三个公共成员变量:length和width,其中构造函数Box(int l =5, int w =10, int h =2) 所有三个参数都有默认参数。
- 在对象Box box1中; 未提供参数,因此使用默认值调用默认构造函数,结果为“长度:5,宽度:10,高度:2”。
- 在框box2(15); 长度提供为15,但宽度和高度没有提供,所以分别使用默认值。
- 在盒子 box3(15, 20) 中; 长度和宽度分别提供值 15 和 20,因此它将覆盖默认值和相应的结果。
带默认参数的构造函数的主要特性
虽然它与常规函数类似,但它在创建对象时提供了更多的灵活性和便利性。
下面,我们将讨论其所有关键功能。
1。参数的默认值和对象创建的灵活性
这里的构造函数可以有一个或多个参数的默认值,当调用者没有提供参数时可以使用默认值,并允许多种方式创建对象。
2。避免多个构造函数重载
您可能需要为每个参数组合加载构造函数,这将使代码变得更庞大,但是使用默认参数,构造函数只需编写一次,它就会自动处理不同的情况。
3。默认参数的顺序
在有多个默认值参数的情况下,一旦从右侧开始提供默认值,就无法跳过中间的默认参数。
语法
<前>55前>4。默认参数可以与 Const 成员一起使用
如果您的类具有 const 成员,则可以在构造函数中提供默认参数以使初始化更容易。
语法
<前>67前>此构造函数使用默认参数(长度 =5 和宽度 =10)来初始化 const 成员。
C语言