Mám problém s definicí. Mám "hlavní třídu" A. Poté třídy B, C, které jsou atributy třídy A. Mám globální ukzatel na A; A* glob; a ve třídách B, C tento ukaztel používám:
main.cpp
//include, definice
A* glob;
int main..
A.h
//include, definice
class A
{
B b;
C c;
};
B.h
//include, definice
extern A* glob;
class B
{
void funkce();
};
B.cpp
#include "B.h"
void B::funkce()
{
glob->//zde nastává problém
}
Když to chci zkompilovat nedokážu se zbavit chyby v B.cpp "A používá nedefinovaný typ B". Problém dělá globální ukazatel na A. Když ale definici třídy B vložím do A.h, tak problém zmizí, ale takových tříd, které A obsahuje je hodně a ten soubor se stává nepřehledným.
Můj dotaz je, jak to zkompilovat tak, abych nemusel definici "podtříd" vkládat do A.h?
Děkuji za odpověď