如题所述
这里面涉及到对语言的理解,可以这么说,C++ 里面的所有类都有构造函数。
但是你写的时候可以不写构造函数,但你构造出来的类还是有构造函数。
这是因为你不写构造函数的话,其实 C++ 会自动的帮你加上一个构造函数,这个就是默认的构造函数。
再贴一段百科的定义你就懂了:
默认构造函数(default constructor)就是在没有显式提供初始化式时调用的构造函数。它由不带参数的构造函数,或者为所有的形参提供默认实参的构造函数定义。如果定义某个类的变量时没有提供初始化时就会使用默认构造函数。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-07-14
这得根据不同编译器的定义,大多编译器在无构造函数时会自动产生以下构造函数
默认构造函数
复制构造函数
移动构造函数(C++11起)