overrideable c++ operators code example
Example 1: c++ over load operator
// This will substract one vector (math vector) from another
// Good example of how to use operator overloading
vec2 operator - (vec2 const &other) {
return vec2(x - other.x, y - other.y);
}
Example 2: c++ overload < operator
struct Record
{
std::string name;
unsigned int floor;
double weight;
friend bool operator<(const Record& l, const Record& r)
{
return std::tie(l.name, l.floor, l.weight)
< std::tie(r.name, r.floor, r.weight); // keep the same order
}
};