如果已经定义了operator==,那么operator!=很容易实现,只要调用operator==,然后取反。
bool Array::operator!=(const Array& v) const
{
return !((*this) == v);
}
这个函数的形式实际上和具体的类无关。即如果定义了operator==,那么总能根据这个模式定义operatot!=. 同样,如果定义了<, 则很容易能够定义>. 如果定义了==,则结合<和==,则能够定义<=和>=. 标准文件util包含了一系列预先定义的这些关系操作符的模式。使用时只需定义operator==, operator<,则自动有operator!=, operator>, operator<=.因此从不需要定义多余两个比较操作符。看以下例子:为array定义<.
bool operator< (const Array& v) const;
实现:
bool Array::operator< (const Array& v) const
{
int n; //the length of the shortest of this object and v
if(num <v.num)
n = num;