关于C++构造函数重载以及默认参数引起的二义性的问题分析与解决 (即重载时的构造函数模糊问题)

首先,需要明白构造函数是用来做什么?当创建类对象的时候,编译器为对象分配内存空间,并自动调用该构造函数,由构造函数完成数据成员的初始化工作。

其次,大家都必须明白和记得的一点是: 一个类只能有一个默认构造函数。
两种方式的默认构造函数:

  1. 定义一个无参数的构造函数;
  2. 定义有参数默认值的构造函数。

只要保证,上面这两种方式只出现其一,保证不同时出现即可。
不然,将会抛出以下错误: error: call of overloaded 类名() is ambiguous

猜你喜欢

转载自blog.csdn.net/qq_42658739/article/details/105302565
今日推荐