Nejčastější chyby v hlavičkovém souboru
Hlavičkový soubor (každý) musí být ošetřen proti vícenásobnému načtení. Mimo toto ošetření by se nemělo nic vyskytovat (zvláště pak další include).
Hlavičkové soubory se „logicky“ includují. Měly by tedy být načteny do „svých“ zdrojových souborů a do demonstračního zdrojového souboru (zdrojové soubory, kde svou třídu využíváme). Snažíme se neincludovat „do kříže“. Pokud je více tříd, které se používají, includujeme soubory v hlavičkových souborech, ve kterých je využíváme a to (především) podle hierarchie použití.
Statické data a metody jsou povinně ve zdrojové části. Statická data musí mít inicializaci.
Třída řetězec (knihovna string) a řetězec (char *) je něco jiného (parametr konstruktoru) – v projektu se má využívat char *.
Je nutné splnit počty metod, funkcí ... a funkčnost danou původním zadáním. Chybějící nevytvořené části potom nejsou bodovány a ztrácíte body. Nejčastěji opomíjenou metodou je konverzní operátor.
Při předávání parametrů (do i z metod) by měly být preferovány reference. Při předávání do metod by měla tedy být reference (takřka) vždy, v návratové hodnotě by měla být reference pokud to jen trochu jde. Využitím referencí se šetří čas a místo v paměti. V návratové hodnotě by měla být reference ve všech případech kdy je možné vrátit pomocí reference – což je stav, kdy vracená proměnná existuje mimo právě běžící metodu/funkci – jinými slovy pokud vracíme proměnnou, která byla do metody/funkce předána (jako parametr nebo „this“), pak použijeme referenci, pokud vracíme „nově“ vzniklou proměnnou, která neexistuje mimo funkci, musíme ji předat hodnotou. Lze předávat i pomocí ukazatelů, ale tento způsob vyžaduje součinnost „uživatele“ (a na tu se nelze 100% spolehnout) a proto ji využíváme minimálně.
Na projektu by měli pracovat všichni zůčastnění což je vidět z přístupů do databáze, kde je přesně vidět kolikrát, ale taky co kdo nahrával.
Projekt by měl být "postaven" na lineárním seznamu, proto je potřebné mít strukturu/třídu pro jeho vazby. Tato pomocná/vazební struktura/třída by též mohla mít metody (konstruktor, destruktor ...)
V cdata není možné změnit všechny bool, některé tam patří.
Poslední úpravy 2009-12-13