c++类与对象的一个问题

如图,最后一行的前两个输出,单步执行发现是先判断31,后判断15。这不合常理啊?为啥呢?题目是第六题

第一种,是调用带参数的构造函数,显而易见,你定义的是一个带三个参数的构造函数,没问题,OK。
第二种,是调用的是不带参数的构造函数,不定义的话,编译器会默认一个,没问题,OK。
第三种,调用的是复制构造函数,没定义的话,编译系统也会自动提供一个默认的复制构造函数,但只是简单地复制类中每个数据成员,定义的话,就会调用是你自己的。
第四种,这种定义类对象,是错误的语法,只有在调用带参数的构造函数创建对象时,才会用括号()把参数传进去,如果想调用无参数的构造函数创建对象,是不能带括号的,所以编译器会报错。追问

那个,,不是构造函数的问题。。是最后一行的输出问题。。是不是截图不清晰呢

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答