有如下类模板定义:()
template<class T> class BigNumber{ long n; public: BigNumber(T i):n(i){} BigNumber operator+(BigNumber b) { return BigNumber(n+b.n); } };
已知b1,b2是BigNumber的两个对象,则下列表达式中错误的是?
使用成员运算符的限制是左操作数必须是当前类的对象,左操作数不能进行自动类型转换,而全局运算符为两个操作数都提供了转换的可能性。因此,如果左操作数是其他类的对象,或是希望运算符的两个操作数都能进行类型转换,则使用全局函数重载运算符。