在大整数类中,有这两个函数
friend bool operator<(long long ba1,BigAmount& ba2);
friend bool operator<(BigAmount& ba1,long long ba2);
由于CompareTo函数能判断大于、小于、等于,所以这两个函数只保留一个就可以了。(A > B就是B < A)在实际使用中并不会有太多的影响。
从便于实现的角度来看,应该删去
friend bool operator<(long long ba1,BigAmount& ba2);
因为它的实现
bool operator<(long long ba1,BigAmount& ba2)
{
return BigAmount(ba1).CompareTo(ba2) == -1;
}
相当别扭,而且多这么一个定义毫无意义。
除了小于号之外,其它的比较运算符的重载函数也这么处理。