Powiel możliwe:
In C++ why have header files and cpp files?Confused o faktycznym celu plikach nagłówka w C++
Nie dość uzyskać pliki nagłówkowe C++ dla dwóch sprzecznych powodów:
Myślałem, że celem plików nagłówkowych jest generalnie oddzielenie interfejsu od implementacji. Innymi słowy, klient używa pliku nagłówkowego, aby nauczyć się korzystać z klasy, ale nie musi się martwić o to, jak klasa wewnętrznie implementuje tę funkcję.
Dlaczego więc są zmienne prywatne z klasy C++ określony w pliku nagłówka?
Wydaje mi się, że posiadanie prywatnych zmiennych w pliku nagłówkowym narusza rozdział interfejsu i implementacji. Intuicyjnie uważam, że bardziej sensowne byłoby, by zmienne prywatne znajdowały się w pliku źródłowym, ponieważ jest to plik, który nie jest eksponowany na świat zewnętrzny.
Może po prostu nie rozumiem celu plików nagłówkowych, a 1. powyższe jest całkowicie błędne? W jaki sposób?
Skąd wziąłeś 1. Od? – Robottinosino
Oprócz funkcji 'friend', założę się, że jest to techniczne ograniczenie kompilatora do określenia rozmiaru klasy. – Mysticial
@DaveSwersky Ten duplikat nie odpowiada na drugie pytanie OP: "Dlaczego zatem są to prywatne zmienne klasy C++ określone w jej pliku nagłówkowym?" – Mysticial