读书人

简单有关问题,接分的进

发布时间: 2012-02-13 17:20:26 作者: rapoo

简单问题,接分的进
struct CLS
{
int m_i;
CLS(int i): m_i(i){}
CLS()
{
CLS(0);
}
};

void main( void )
{
CLS obj;
cout < < obj.m_i < < endl;

}

为什么输出不是0??

[解决办法]
构造函数不能调用构造函数以实现构造功能

CLS()
{
CLS(0); // 这里并不是调用自己的另外一个构造函数,而是生成一个对象
}

跟这个一样

CLS()
{
CLS c = CLS(0);
}

读书人网 >C++

热点推荐