以下代码中的输出语句输出0吗,为什么?struc

18 查阅
以下代码中的输出语句输出0吗,为什么?struct CLS{int m_i;CLS( int i ) : m_i(i) {}CLS(){CLS(0);}};CLS obj;cout t;t;

参考答案:

正确答案:

\r\n

不能。在默认构造函数内部再调用带参的
构造函数属用户行为而非编译器行为,亦即仅执行
函数调用,而不会执行其后的初始化表达式。只有
在生成对象时,初始化表达式才会随相应的构造函
数一起调用。

语句