csgo枪声能改回去么:以下代码中的输出语句输出0吗,为什么?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 08:01:12
struct CLS
{
int m_i;
CLS( int i ) : m_i(i) {}
CLS()
{
CLS(0);
}
};
CLS obj;
cout << obj.m_i << endl;

CLS(0);有错误。不能通过编译。要写也应该CLS():this(0)才能做到输出0的效果

yes. CLS obj 使用默认构造函数构造obj, 而默认构造函数转而使用带参数的构造形式并传参数为0。最终,带参数的构造器将参数值复制给m_i。