简单有关问题,接分的进

简单问题,接分的进
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);
}