假定用户只为类AB定义了一个构造函数“AB(int aa, int bb=0) {a=aa; b=bb;}”,则定义该类的对象时,其实参表中至多带有___个实参。
时间: 2024-02-22 09:00:34 浏览: 78
当用户只为类AB定义了一个构造函数 `AB(int aa, int bb=0) {a=aa; b=bb;}` 时,定义该类的对象时,其实参表中至多带有2个实参。
其中,第一个参数 aa 是必须提供的,而第二个参数 bb 可以不提供,如果不提供则使用默认参数值 0。
例如:
```cpp
AB obj1(10); // aa=10, bb=0(使用默认参数值)
AB obj2(20, 30); // aa=20, bb=30
```
相关问题
假定用户为类AB定义了一个构造函数“AB(int aa=0, int bb=0) {a=aa; b=bb;}”,则定义该类的对象时,可以有___种不同的定义格式。
当用户为类AB定义了一个构造函数 `AB(int aa=0, int bb=0) {a=aa; b=bb;}` 时,可以有以下几种不同的定义格式:
1. 不传入参数,使用默认参数值:`AB obj1;`
2. 传入一个参数:`AB obj2(10);` 或者 `AB obj3{20};`
3. 传入两个参数:`AB obj4(30, 40);` 或者 `AB obj5{50, 60};`
4. 显式地使用默认参数值:`AB obj6();` 或者 `AB obj6{};`
5. 使用赋值语句进行初始化:`AB obj7 = AB(70, 80);` 或者 `AB obj8; obj8 = AB(90, 100);`
需要注意的是,当定义一个类对象时,如果不传递任何参数,则会使用默认参数值初始化相应的数据成员,否则会使用传递的参数值进行初始化。
假定用户为类AB定义了一个构造函数“AB(int aa):a(aa){}”,则定义该类的对象时,有__种定义格式。
当类AB定义了构造函数 `AB(int aa):a(aa){}` 时,可以有以下几种不同的定义格式:
1. 传入一个参数:`AB obj1(10);`
2. 使用列表初始化方式:`AB obj2{20};`
3. 使用赋值语句进行初始化:`AB obj3 = AB(30);` 或者 `AB obj4; obj4 = AB(40);`
需要注意的是,当定义一个类对象时,如果不传递任何参数,则会编译错误,因为该类没有默认构造函数。
阅读全文