Софтуерно Инженерство
Loading...
CharlieScarver avatar CharlieScarver 33 Точки

C++ classes - Header and cpp files

Последният път видяхме, че можем да изкараме клас в отделен .h файл, където стои пълната му дефиниция.
Ако добавим нов клас през опцията Add -> New Class обаче, ни добавя един .h файл, в който седи декларацията на класа и методите му, и един .cpp файл, който са дефинициите на методите.
Така ли се прави в C++ по конфенция? Може ли някаква допълнителна информация за това.

Благодаря предварително.

Тагове:
1
C++ Programming
Filkolev avatar Filkolev 4428 Точки

header файловете може да ги мислиш като интерфейси. В тях се съдържа публичния интерфейс на класовете, които пишеш - константи, сигнатури на публични методи.

2
CharlieScarver avatar CharlieScarver 33 Точки

1. Тоест не е правилно да се дефинира целия клас в .h файла?
2. В тях не се ли съдържат всички декларации (не само публичните, а private и protected също) - на полета, методи и т.н?
 

0
Filkolev avatar Filkolev 4428 Точки

Е затова казах "като интерфейси". Идеята е тези файлове да може да ги инклудваш и те да не зависят от конкретната имплементация.

Според мен не е правилно всичко да е в хедъра. Може би е приемливо ако говорим за доста прост клас.

0