关于运算符重载    class Class2D
        }

以上代码如果不调用,则可以编译通过;但是如果调用,则编译期报错:
关于运算符重载            Class3D d3 = new Class3D(123);
关于运算符重载            Class2D d2 
= new Class2D(1112);
关于运算符重载
关于运算符重载            Class2D newD2 
= d2 + d3;
原因是最后一句,因为参与运算的Class3D和Class2D都提供了
+(Class2D d2, Class3D d3)
的重载,编译器不知道应该使用那一个,当然会报错了。

所以得出一个结论:想搞死编译器不是那么容易的哦!


相关文章: