首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

构造函数调用构造函数行吗?该如何处理

2012-04-23 
构造函数调用构造函数行吗??struct TT{TT(int i):mi(i){}TT(){TT(0)}int mi}int main(){TT treturn 0

构造函数调用构造函数行吗??
struct TT
{
TT(int i):mi(i){}
TT()
{
TT(0);
}
int mi;
};

int main()
{
TT t;
return 0;
}
请问为什么t的值不是0呢??

[解决办法]
标准语法不支持。如果你一定想这么做的话,用placement new。
[解决办法]
这样相对于构造了一个临时对象吧
[解决办法]
TT(0);
你这里只是构造了一个临时对象,和你this对象完全没任何联系
[解决办法]
试试
T()
: new(this) T(0)
{
}
[解决办法]
这样呢?
TT()
{
*this = TT(0);
}
[解决办法]
说说你这么做的目的吧
[解决办法]
Sorry,应该是这样:

A() { new(this) A(0); }
[解决办法]
从来就不提倡用placement new

热点排行
Bad Request.