两个构造函数的调用方法一样是怎么出现的
时间: 2024-03-10 12:48:50 浏览: 105
这是因为在类A中定义了一个带有默认参数的构造函数:
```
A(int a=2){
init();
a++;
}
```
带有默认参数的构造函数可以允许我们在创建对象时省略掉该参数,例如:
```
A obj; // 等价于 A obj(2);
```
上述代码会调用带有默认参数的构造函数,因为没有提供参数,所以使用默认参数2来初始化a。而如果我们显式地提供参数,例如:
```
A obj(3);
```
则会调用带有参数的构造函数,并使用提供的参数3来初始化a。因此,这两种方式都可以创建对象,并调用相应的构造函数。
阅读全文