#include <cstdio>

struct pnt
{
  int x, y;

  pnt() { } // Используется, чтобы создать "q, c"
  pnt( int a, int b ) { x = a, y = b; } // Используется для инициализации p, q, в (operator +)
}; // Не забывайте про ";" !

// Определяем (operator +)
pnt operator + ( pnt a, pnt b )
{
  return pnt(a.x + b.x, a.y + b.y);
}

// Определяем (operator <)
bool operator < ( pnt a, pnt b )
{
  if (a.x != b.x)
    return a.x < b.x;
  return a.y < b.y;
}

int main()
{
  pnt q, c;
  pnt p(1, 2); // Точку можно создавать так
  
  q = pnt(3, 4); // А можно так
  c = p + q; // Применяем (operator +)

  printf("%d %d\n", c.x, c.y);
  return 0;
}