Mám projekt který jsem původně psal do jednoho souboru, ale teď jsem se rozhodl ho rozdělit. Mám problém, že nevím co do čeho mám pomocí include vkládat. Mám čtyři hlavičkové soubory = čtyř třídy Mapa,Nepritel,Hrac,Bod.
Třída Mapa ve svých funkcích obsahuje jako parametry ukazatele na objekty tříd Nepritel,Hrac,Bod.
Třída Nepritel ve svých funkcích obsahuje jako parametr ukazatel na objekt Hrac.
Třída Bod ve svých funkcích obsahuje jako parametry ukazatele na objekty tříd Hrac,Mapa.
Fórum › C / C++
Pomoc s #include
stačí když před každou třídu uděláš tzv. forward deklaraci tříd:
For example:
class Nepritel;
class Hrac;
class Bod;
//a ted tvoje trida
class Mapa {
....
};
ale pak musíš ty všechny hlavičkové soubory vložit do nějakého zdrojového souboru
To kadet : Moc nechápu, jak to myslíte Vy. Pokud Vám jde pouze o to, aby byly soubory správně includované, tak includujte do každého headeru všechny ostatní headery, nebo lépe použijte forward deklaraci tříd, jak výše poradil kolega. Pokud máte jiný problém, popište ho přesněji.
Aby se neinkludoval jeden soubor dvakrát, tak se používá tohle:
#ifndef JMENO_H_
#define JMENO_H_
zdrojový kód
#endif
Jmeno se obvykle dává název toho souboru, co se inkluduje ale je celkem fuk jak to nazveš.
Zkus si stáhnout ten zdroják bludiste - Kopie.rar , prosím, a pouprav ho. Když jsem tam dal tu forward deklaraci tak se třídy inkludovaly správně (pokud byli jejich implementace v hlavním souboru), když jsem implementace rozdělil do souborů podle názvu tříd, tedy v mapa.cpp jsem měl implementaci třídy a v mapa.h deklaraci třídy tak to nefungovalo, protože nekteré třídy jsou navzájem provázány parametry ve kterých přijímají ukazatel na objekt jiné třídy. Teď prostě nevím jak ošéfovat ty *.cpp soubory pomocí #include, aby to všechno fungovalo.
Nevíte někdo o nějaké stránce na internetu, která se zabývá touhle problematikou? Našel jsem něco na linuxsoft.cz http://www.linuxsoft.cz/article.php?id_article=704 , ale tam je to bez OOP.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Moderátoři diskuze