Ciao a tutti!
Ho un problema con la direttiva include:
ho 4 file: FiguraGeometrica.h, Triangolo.h, Quadrato.h e Source.cpp.
i primi tre file contengono le intestazioni di tre classi omonime, inoltre sia Triangolo che Quadrato sono figlie di FiguraGeometrica. Ecco il codice:

FiguraGeometrica.h:

codice:
class FiguraGeometrica { 
public: 	char* nome; 	
void disegnaFigura(); 
};
Triangolo.h:
codice:
#include "FiguraGeometrica.h"
class Triangolo : public FiguraGeometrica {
public:
	void disegnaFigura();
};
Quadrato.h:

codice:
#include "FiguraGeometrica.h"
class Quadrato : public FiguraGeometrica{

};
Source.cpp:

codice:
#include "stdafx.h"
#include "Triangolo.h"
#include "Quadrato.h"
#include "stdlib.h"

void FiguraGeometrica ::  disegnaFigura() {
	printf("Disegna figura geometrica!\n");
};
void Triangolo :: disegnaFigura() {
	printf("Disegna un triangolo!\n");
};

int _tmain() {
	
	
	
	FiguraGeometrica * fig=new FiguraGeometrica;
	Triangolo * tri=new Triangolo;
	Quadrato * quad=new Quadrato;
	tri->disegnaFigura();
	system("PAUSE");
	
}
quando eseguo Source mi dà il seguente errore:

error C2011: 'FiguraGeometrica' : 'class' type redefinition

credo perché l'istruzione #include "FiguraGeometrica.h" viene incontrata più volte (essendo stata utilizzata sia in Triangolo.h che in Quadrato.h ). Come posso fare per evitare questo problema?

Grazie in anticipo!