问一个构造函数的问题,先给20分,解决另外给100分
写一个类如
class test
{
public:
test(int n):wt(n)
{
(*this)(wt);
}
~test()
{
cout<<"~~"<<endl;
}
protected:
operator()(int n)
{
cout<<n<<endl;
}
int wt;
};
void main()
{
test(11); // 编译可以通过,可以看到预期的结果
int qq = 111;
test(qq); // 编译不通过,提示qq重定义了
}
那位高手给说说这是怎么回事?