struct T {
int x, y;
};
T operator + ( T a, T b ) {
return {a.x + b.x, a.y}; // list initialization
}
/** Два operator + (T, T) одновременно нельзя
int operator + ( T a, T b ) {
return a.x + b.x;
}
*/
bool operator < ( T a, T b ) {
return a.y < b.y;
}