Foros del Web » Soporte técnico » Ayuda General »

Clases derivadas en C++ AYUDA!!!

Estas en el tema de Clases derivadas en C++ AYUDA!!! en el foro de Ayuda General en Foros del Web. Hola a todos: Tengo un problema con un código C++ en el que uso clases derivadas… es muy sencillo lo que quiero hacer pero cuando ...
  #1 (permalink)  
Antiguo 28/07/2002, 14:45
 
Fecha de Ingreso: abril-2002
Mensajes: 34
Antigüedad: 17 años, 10 meses
Puntos: 0
Clases derivadas en C++ AYUDA!!!

Hola a todos:
Tengo un problema con un código C++ en el que uso clases derivadas… es muy sencillo lo que quiero hacer pero cuando compilo el main.cpp me genera un error de ejecución. Les paso a explicar. Tengo 3 clases, cuyas definiciones son estas:

//figura.h
class figura {
public:
virtual void obtDatos() = 0;
virtual void dibujar() = 0;
virtual void calcArea() = 0;
virtual void calcPerimetro() = 0;
};

//elipse.h derivada de la clase figura
#include "figura.h"
class elipse:public figura {
double radio_x;
double radio_y;
public:
elipse();
virtual void obtDatos();
virtual void dibujar();
virtual void calcArea();
virtual void calcPerimetro();
~elipse();
};

//rectangulo.h derivada de la clase figura
#include "figura.h"
class rectangulo:public figura {
double base;
double altura;
public:
rectangulo();
virtual void obtDatos();
virtual void dibujar();
virtual void calcArea();
virtual void calcPerimetro();
~rectangulo();
};

La implementación de todas ellas están en archivos CPP separados para cada clase. El main.cpp contiene el siguiente código:

#include <iostream.h>
#include "rectangulo.h"
#include “elipse.h”

void main () {
elipse *e;
e = new elipse;
rectangulo *r;
r = new rectangulo;
}

Fíjense que parece ser muy simple… sin embargo se me genera el siguiente error de compilación:

c:\archivos de programa\microsoft visual studio\myprojects\figuras\figura.h(1) : error C2011: 'figura' : 'class' type redefinition
Error executing cl.exe.

Es decir, se está redefiniendo la clase figura. Ahora bien, mi conformación del proyecto es la siguiente:

Clase figura (figura.h)
Clase elipse (elipse.h y elipse.cpp, derivada de clase abstracta figura)
Clase rectangulo (rentangulo.h y rectangulo.cpp, derivada de clase abstracta figura)

Como soluciono el problema de la redefinicion de la clase figura en main.cpp?? Debo hacer un archivo cpp general para todas las clases?? Alguna ayuda??
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:43.