C++中,如果类中没有默认构造函数,那么我再创建一个对象会怎样?

类中,构造函数都是有参数的。没有无参数的构造函数。

那么我能否写 A a; ????

本来这个是调用无参构造函数,现在无参都没有了,只有有参的,那么这样写结果会怎样?

如果你定义一个类的构造函数,编译器就不会自动添加构造函数了! 所以所以你上面的写法是错误的!追问

编译器会报错?确定?

追答

是啦! 有时间来问 怎么不自己去试试?

追问

试一试几分钟,问一问几秒钟。嘿嘿嘿

追答

。。。。。。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-18
这个时候编译器会自动生成一个默认的构造函数: A() {};
这个函数什么都不做 只满足语法需要。追问

不是啊,我已经自定义了带参数的构造函数,哪里还有默认构造函数?

追答

我刚刚看了。之前的说法是错的。编译器会报错。因为类中没有定义默认的构造函数,定义对象a时匹配不到合适的构造函数,编译会出错。

相似回答