注册 登录
编程论坛 C++教室

为什么输出结果不是0;

yy7software 发布于 2011-10-19 12:15, 707 次点击
程序代码:
#include<iostream>
using namespace std;
struct CLS
{
    int m;
    CLS(int i):m(i)
    {}
    CLS(){CLS(0);}
};
void main()
{
    CLS obj;
    cout<<obj.m<<endl;
}
3 回复
#2
tisyang2011-10-19 12:40
默认构造函数只是调用了 另一个构造函数而已,但是并非构建了当前的对象。
CLS(){CLS(0);}

改为

CLS(){ *this = CLS(0);}

[ 本帖最后由 tisyang 于 2011-10-19 12:41 编辑 ]
#3
yy7software2011-10-19 13:35
回复 2楼 tisyang
对了 谢谢大神
1