这段程序有什么错?用不同的编译器试试看。
class CTEST
{
public:
CTEST();
~CTEST();
void f1(CTEST &x);
void f1(unsigned long x);
CTEST f2(CTEST &x);
CTEST f3(CTEST &x);
protected:
long a;
};
CTEST::CTEST()
{
a=0;
}
CTEST::~CTEST()
{
}
void CTEST::f1(CTEST &x)
{
a=x.a;
}
void CTEST::f1(unsigned long x)
{
a=x;
}
CTEST CTEST::f2(CTEST &x)
{
CTEST y;
y.f1(x);
return y;
}
CTEST CTEST::f3(CTEST &x)
{
CTEST y;
y.f1(y.f2(x));
return y;
}
int main()
{
CTEST a;
return 0;
}