Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/12/2014, 13:38
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 3 meses
Puntos: 38
Respuesta: C/C++ Problema al usar un metodo pasandole un objeto

En el archivo Ractangulo.cpp
las funciones:
Código C++:
Ver original
  1. void config_punto_superior_izquierdo ( Punto p ) {
  2.     Punto punto_superior_izquierdo = p;
  3. }
  4. void config_punto_superior_derecho ( Punto p ) {
  5.     Punto punto_superior_derecho = p;
  6. }
  7. void config_punto_inferior_izquierdo ( Punto p ) {
  8.     Punto punto_inferior_izquierdo = p;
  9. }
  10. void config_punto_inferior_derecho ( Punto p ) {
  11.     Punto punto_inferior_derecho = p;
  12. }

No deberian ser:
Código C++:
Ver original
  1. void Rectangulo::config_punto_superior_izquierdo ( Punto p ) {
  2.     Punto punto_superior_izquierdo = p;
  3. }
  4. void Rectangulo::config_punto_superior_derecho ( Punto p ) {
  5.     Punto punto_superior_derecho = p;
  6. }
  7. void Rectangulo::config_punto_inferior_izquierdo ( Punto p ) {
  8.     Punto punto_inferior_izquierdo = p;
  9. }
  10. void Rectangulo::config_punto_inferior_derecho ( Punto p ) {
  11.     Punto punto_inferior_derecho = p;
  12. }

de modo que el archivo quedara:
Código C++:
Ver original
  1. #include "Rectangulo.h"
  2. #include "Punto.h"
  3. //Constructor de Rectangle
  4. Rectangulo::Rectangulo ( Punto a, Punto b, Punto c, Punto d ) {
  5.     //Considerem els punts com una variable y els hi pasem al rectangle
  6.     punto_superior_izquierdo = a;
  7.     punto_superior_derecho = b;
  8.     punto_inferior_izquierdo = c;
  9.     punto_inferior_derecho = d;
  10.    
  11.     //Pasem el resultat de les funcions definides a "Punto.h" de els punts que formen les linies
  12.     linea_superior = punto_superior_derecho.return_x() - punto_superior_izquierdo.return_x();
  13.     linea_inferior = punto_inferior_derecho.return_x() - punto_inferior_izquierdo.return_x();
  14.     linea_izquierda = punto_superior_izquierdo.return_y() - punto_inferior_izquierdo.return_y();
  15.     linea_derecha = punto_superior_derecho.return_y() - punto_inferior_derecho.return_y();
  16. };
  17.  
  18.  
  19.  
  20. Rectangulo::~Rectangulo() {
  21. }
  22.  
  23. void Rectangulo::config_punto_superior_izquierdo ( Punto p ) {
  24.     Punto punto_superior_izquierdo = p;
  25. }
  26. void Rectangulo::config_punto_superior_derecho ( Punto p ) {
  27.     Punto punto_superior_derecho = p;
  28. }
  29. void Rectangulo::config_punto_inferior_izquierdo ( Punto p ) {
  30.     Punto punto_inferior_izquierdo = p;
  31. }
  32. void Rectangulo::config_punto_inferior_derecho ( Punto p ) {
  33.     Punto punto_inferior_derecho = p;
  34. }

Salu =)