Cześć wszystkim.
Mam pewien problem. Otóż napisałem program i klasy w nim zawarte i trapi mnie jedno pytanie.
class GARDEN_CLASS;
class BRANCH_CLASS;
class FRUIT_CLASS;
class GARDEN_CLASS{
...
}
class WOOD_CLASS{
private:
unsigned int ID; // Unikalny numer drzewa
unsigned int height; // Wysokosc drzewa
unsigned int woodBranchesCount; // Ilosc galezi na drzewie
unsigned int woodFruitsCount; // Ilosc owocow na drzwie
unsigned int woodFruitsWeight; // Waga owocow na drzwie
GARDEN_CLASS *parentGarden; // Wskaznik na ogrod w ktorym znajduje sie dane drzewo
// Pomysl: Drzewo jako lista galezi
BRANCH_CLASS* firstBranch; // Wskaznik na pierwsza galaz na drzewie
BRANCH_CLASS* lastBranch; // Wskaznik na ostatnia galaz na drzewie
WOOD_CLASS *nextWood; // Wskaznik na nastepne drzewo
WOOD_CLASS *prevWood; // Wskaznik na poprzednie drzewo
public:
WOOD_CLASS(GARDEN_CLASS *parent = NULL); // Konstruktor
~WOOD_CLASS (); // Dekonstruktor
WOOD_CLASS(const WOOD_CLASS &copiedWood); // Konstruktor kopiujacy
}
class BRANCH_CLASS{
...
}
WOOD_CLASS::WOOD_CLASS(GARDEN_CLASS *parent) {
ID = 0;
height = 0;
woodBranchesCount = 0;
woodFruitsCount = 0;
woodFruitsWeight = 0;
parentGarden = parent;
firstBranch = NULL;
lastBranch = NULL;
nextWood = NULL;
prevWood = NULL;
}
Gdy próbuję utworzyć obiekt na rzecz klasy WOOD w sposób: WOOD_CLASS wood = WOOD_CLASS(); to mój program się wysypuje. Natomiast gdy zrobię WOOD_CLASS *wood = new WOOD_CLASS(); to błąd się nie pojawia. Czy ktoś może mi wytłumaczyć dlaczego tak się dzieje? Byłbym wdzięczny
ps. pominąłem sporą część kody pisząc "...", jeśli coś z tego może być ważne, to proszę dać znać. Podeślę.