C++ != and == operators

Started by
2 comments, last by Evil Steve 17 years, 5 months ago
Sorry for a really silly question, but does anybody know in C++ whether operator!= has to be specially defined as an operator if you already have an operator==, or if (lhs != rhs) implicitly does !(lhs.operator==(rhs)) ?
Advertisement
You have to define it explicitly in C++ (other languages do it automatically though).
You have to define it on its own, but you can use the other operator for that definition, i.e. if 'a != b' is the same as '!(a == b)'.
You can however, just use operator == inside your operator !=:
class Foo{public:   bool operator==(const Foo& rhs) const   {      // Do comparison   }   bool operator!=(const Foo& rhs) const      { return !(*this == rhs); }};

EDIT: Bah, too slow [smile]

This topic is closed to new replies.

Advertisement