// Define um tipo de dados novo typedef struct PONTO{ int x,y; PONTO operator+ (PONTO &v1); PONTO operator* (PONTO &v1); PONTO operator- (PONTO &v1); PONTO operator- (); // menos Unário void operator= (int n); // atribuicao void operator! (); // impressao void Imprime(); } PONTO; void PONTO::operator! () { printf("(%d,%d)", x,y); } void PONTO::operator= (int n) { x = n; y = n; } PONTO PONTO::operator+ (PONTO &v1) { PONTO temp; temp.x = v1.x + x; temp.y = v1.y + y; return temp; } |
PONTO PONTO::operator* (PONTO &v1) { PONTO temp; temp.x = v1.x * x; temp.y = v1.y * y; return temp; } PONTO PONTO::operator- (PONTO &v1) { PONTO temp; temp.x = x - v1.x; temp.y = y - v1.y; return temp; } PONTO PONTO::operator-() { PONTO temp; temp.x = -x; temp.y = -y; return temp; } |