p3 no puede salir por cout porque es un objeto, cout no tiene capacidad para decidir que tipo de dato debe mostrar; si quieres que p3 'salude al mundo' tendras que implementar un metodo para la clase Punto que muestre los datos que quiera, o llamar a GetX/Y para recuperar el valor del objeto y luego mostrarlo o hacer las operaciones que quieras.
Código:
//esto no vale, cout no puede saber que esto significa volcar ejex/ejey
cout << p3;
//esto si
double x, y;
x = p3.GetX();
y = p3.GetY();
printf("P3 = %.2f, %.2f", x, y);
//o implementas un metodo
Punto::dump() {
printf("P3 = %.2f, %.2f", ejex, ejey);
}
//y lo llamas
p3.dump();
vosk