Hej, mam małe pytania dotyczące podstaw C++
-
Mam interfejs, no znaczy klasę abstrakcyjną, po której dziewiczy kilka innych klas. Zawiera ona tylko 3 zmienne i jedną funkcję czysto wirtualną. IDE mi wygenerowało dla niej plik .cpp, który jest oczywiście pusty. Powinienem go usunąć czy zostawić?
-
Jest jakaś kolejność, wg. której są kompilowane pliki?
-
Jeśli dobrze rozumiem: jeśli w jakiejś klasie (powiedzmy Abc), typ zdefiniowany przez nas (powiedzmy klasa Xyz) występuje tylko jako parametr funkcji albo składowa-wskaźnik, to nie trzeba inludować w pliku nagłówkowym tej klasy, pliku Xyz.h, tylko wystarczy napisać class Xyz; przed kodem klasy, natomiast plik Xyz.h załączamy w pliku z kodem źródłowym? Z kolei gdy typ Xyz jest składową, albo nasza klasa Abc dziedziczy po Xyz, to trzeba go includować już w pliku nagłówkowym?
Jest jakaś różnica jak będę wszystko załączał w plikach nagłówkowych? -
Kontynuacja trzeciego -> Czemu czasem dla niektórych klas (jak dobrze kojarzę - tych co dziedziczą po czymś) często w ogóle nie muszę już nic includować, bo wszystkie moje klasy (i ich funkcje) są już jakby "znane". Z kolei dla innych, jak nie zrobię forward declaration to wywala nieznany typ. O co chodzi?
-
Jak mam w projekcie w kilku plikach nagłówkowych coś takiego:
// Nazwy plików powymyślane na szybko, tych "includów" jest z 15
#include "Abc.h"
#include "Xyz.h"
#include "Foo.h"
#include "Bar.h"
#include "Def.h"
#include "Spqr.h"
#include "Zyx.h"
#include "Dfg.h"
To da się to jakoś uprościć?
Może głupie pytania, ale przeczytałem poradnik od jakiegoś gości w Internecie, co trochę chaotycznie opisywał i teraz nie rozumiem.