ak mám program rozdelený na viacero súborov a to tak,
subor.h
subor-konstrct.cpp
subor-private.cpp
subor-public.cpp
source.cpp
v súbor.h mám triedu v mennom priestore a v ostatných mám vypísané funkcie danej triedy ( - to že je trieda v mennom priestore, menný priestor som spravil len na skúšku, ten menný priestor je tam inak zbytočný).
1. Je všetko v poriadku ak v každom súbore *.cpp mám iba zahrnuté
#include "subor.h"
a nič viac? Je komunikácia triedy v poriadku - ak je to takto rozdelené do súborov, alebo treba to ešte nejak ošetriť, aby kód správne pracoval pri takto rozdelení súborov? Upozorňujem, že pracujem len s triedou, nič viac. To znamená že volám len funkcie triedy a vo funkciách pracujem s objektmi ktoré sú v triede.
2. Takto ako to mám teraz, som si písal kód, uvediem príklad
Kód: Vybrať všetko
// pseudo kod
void mennypriestor::Trieda::funkcia1()
{
std::cout << "-- funkcia1()\n"; // -> vypisalo (ked som dodal pre skontrolovanie ci vobec bere funkciu)
while (bool podmienka && i < V) // -> nespravilo ako keby neexistovalo
{
// kod...
}
std::cout << "-- Koniec funkcia1()\n"; // -> vypisalo
}
void mennypriestor::Trieda::funkcia2()
{
// tuto funkciu som napisal ako prvu
// kod.. fungoval od zaciatku bez problemov
// obsah funkcie2() som dopisal po dopisani tohoto kodu
}
Kód: Vybrať všetko
do{
std::cout << "vypis"; // vypisalo iba raz potom cyklus skoncil
// kod.. // -> ignorovalo, ako keby prelozilo len urcite zmeny a to - do while a std::cout.
} while (i < V);