elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con objetos y cabeceras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con objetos y cabeceras  (Leído 1,525 veces)
Lordawn

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con objetos y cabeceras
« en: 4 Octubre 2016, 14:32 pm »

Hola a todo y muchas gracias de antemano por la ayuda.

Estoy tratando de hacer un programa que me calcule el area de un rectángulo.
He creado dos ficheros, una cabecera hpp y el main.cpp pero no hago más que recibir el siguiente error y no sé por qué:

||=== Build: Debug in Rectangulo (compiler: GNU GCC Compiler) ===|
main.cpp|41|error: 'MiRectangulo' is not a class or namespace|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
||=== Run: Debug in Rectangulo (compiler: GNU GCC Compiler) ===|

*********************************************************************

Mi fichero Rectangulo.hpp

Código
  1. #ifndef RECTANGULO_HPP_INCLUDED
  2. #define RECTANGULO_HPP_INCLUDED
  3. #include <iostream>
  4.  
  5. class Punto  // Contiene las coordenadas 'X' e 'Y'
  6. {
  7. private:
  8.    int suX;
  9.    int suY;
  10.  
  11. public:
  12.    void ConfigurarX(int x) {suX = x;}
  13.    void ConfigurarY(int y) {suY = y;}
  14.    int ObtenerX() const { return suX;}
  15.    int ObtenerY() const { return suY;}
  16. };
  17.  
  18. class Rectangulo
  19. {
  20. public:
  21.    Rectangulo (int superior, int izquierdo, int inferior, int derecho);
  22.    ~Rectangulo () {}
  23.    int ObtenerSuperior() const { return suSuperior;}
  24.    int ObtenerIzquierdo() const { return suIzquierdo;}
  25.    int ObtenerInferior() const { return suInferior;}
  26.    int ObtenerDerecho() const { return suDerecho;}
  27.  
  28.    void ConfigurarSuperior (int superior) { suSuperior = superior; }
  29.    void ConfigurarIzquierdo (int izquierdo) { suIzquierdo = izquierdo; }
  30.    void ConfigurarInferior (int inferior) { suInferior = inferior; }
  31.    void ConfigurarDerecho (int derecho) { suDerecho = derecho; }
  32.  
  33.    Punto ObtenerSuperiorIzquierdo() const { return suSuperiorIzquierdo;}
  34.    Punto ObtenerInferiorIzquierdo() const { return suInferiorIzquierdo;}
  35.    Punto ObtenerSuperiorDerecho() const { return suSuperiorDerecho;}
  36.    Punto ObtenerInferiorDerecho() const { return suInferiorDerecho;}
  37.  
  38.    void ConfigurarSuperiorIzquierdo(Punto Localizacion) { suSuperiorIzquierdo = Localizacion;}
  39.    void ConfigurarInferiorIzquierdo(Punto Localizacion) { suInferiorIzquierdo = Localizacion;}
  40.    void ConfigurarSuperiorDerecho(Punto Localizacion) { suSuperiorDerecho = Localizacion;}
  41.    void ConfigurarInferiorDerecho(Punto Localizacion) { suInferiorDerecho = Localizacion;}
  42.  
  43.    int ObtenerArea() const;
  44.  
  45. private:
  46.    Punto suSuperiorIzquierdo;
  47.    Punto suSuperiorDerecho;
  48.    Punto suInferiorIzquierdo;
  49.    Punto suInferiorDerecho;
  50.    int suSuperior;
  51.    int suIzquierdo;
  52.    int suInferior;
  53.    int suDerecho;
  54. };
  55.  
  56.  
  57. #endif // RECTANGULO_HPP_INCLUDED



*********************************************************************

Mi fichero main.cpp

Código
  1. #include "Rectangulo.hpp"
  2. //#include <iostream>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. Rectangulo::Rectangulo(int superior, int izquierdo, int inferior, int derecho)
  8.    {
  9.      suSuperior = superior;
  10.      suIzquierdo = izquierdo;
  11.      suInferior = inferior;
  12.      suDerecho = derecho;
  13.  
  14.      suSuperiorIzquierdo.ConfigurarX(izquierdo);   //Punto 1
  15.      suSuperiorIzquierdo.ConfigurarY(superior);
  16.  
  17.      suSuperiorDerecho.ConfigurarX(derecho);       //Punto 2
  18.      suSuperiorDerecho.ConfigurarY(superior);
  19.  
  20.      suInferiorIzquierdo.ConfigurarX(izquierdo);   //Punto 3
  21.      suInferiorIzquierdo.ConfigurarY(inferior);
  22.  
  23.      suInferiorDerecho.ConfigurarX(derecho);       //Punto 4
  24.      suInferiorDerecho.ConfigurarY(inferior);
  25.     }
  26.  
  27. int Rectangulo::ObtenerArea() const
  28. {
  29.    int Ancho = suDerecho-suIzquierdo;
  30.    int Alto = suSuperior-suInferior;
  31.    return (Ancho * Alto);
  32. }
  33.  
  34.  
  35.  
  36. int main()
  37. {
  38.  
  39.    Rectangulo MiRectangulo (100,20,50,80);
  40.    int Area;
  41.    Area = MiRectangulo::ObtenerArea();
  42.    cout << "El rectangulo tiene un area de " << Area << " mtros, cuadrados." << endl;
  43.    return 0;
  44. }
  45.  
******************************************************

Alguien podría por favor explicarme que está pasando?

Mil gracias por su ayuda.

Vale, ya encontré el problema.

Llamé a la función miembro 'ObtenerArea' de la clase 'Rectangulo' como si de una implementación se tratara.

Mal:
Area = MiRectangulo::ObtenerArea();

Bien:
Area = MiRectangulo.ObtenerArea();

Que malo es ser novato y que bueno es descansar un rato cuando no consigues avanzar.

Gracias a todos!!!


MOD: No hacer doble post.


« Última modificación: 5 Octubre 2016, 14:28 pm por MCKSys Argentina » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda en C# con array de objetos
.NET (C#, VB.NET, ASP)
DaNuK 5 14,163 Último mensaje 19 Abril 2010, 07:10 am
por DaNuK
AYUDA - Objetos con transparencia?
.NET (C#, VB.NET, ASP)
unish 5 4,344 Último mensaje 25 Mayo 2010, 21:33 pm
por [D4N93R]
Ayuda básica-Cabeceras, objetos ...
Programación C/C++
jugones55 0 1,531 Último mensaje 6 Mayo 2011, 11:27 am
por jugones55
Ayuda: Problema enlazando varios archivos Fuentes y cabeceras « 1 2 »
Programación C/C++
x64core 14 8,109 Último mensaje 15 Marzo 2012, 21:59 pm
por Eternal Idol
Ayuda con RMI y objetos
Java
ZedGe 0 1,505 Último mensaje 14 Noviembre 2013, 02:54 am
por ZedGe
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines