Header-Dateien (*.h) in C++



  • Hallo Programmier-Gemeinde,

    ich kapierte den Unterschied zwieschen *.cpp und *.h Dateien in C++ nicht richtig.

    Sehe ich das richtig:
    In Java gibt es mehrere *.class Dateien. Eine davon hat eine main-Fkt. Auf die anderen wird nur zugegriffen.

    In C++ ist in der *.h Datei die Schnittstelle zum Beispiel für eine Methode, die in der *.cpp Datei, implementiert ist.

    Oder, habe ich da was falsch verstanden ? 👎

    mfg
    trivial



  • trivial_ schrieb:

    In C++ ist in der *.h Datei die Schnittstelle zum Beispiel für eine Methode, die in der *.cpp Datei, implementiert ist.

    Z.B. :).

    Allgemeiner: In einem Header (*.h, *.hh, *.hpp) stehen sämtliche Deklarationen (und inline-Funktionen...) und in einer *.cpp-Datei stehen die entsprechenden Implementationen dazu. (Template-Header bilden hier meistens eine Ausnahme. Bei ihnen stehen die Implementationen in den allermeisten Fällen ebenfalls im Header).

    Header werden gewöhnlich über den Präprozessor in entsprechenden cpp-Dateien eingebunden, um so ein Modul zu erhalten, welches man dann unabhängig von anderen Modulen compiliert.

    Gruß Caipi



  • Hallo Caipi,

    danke der schnellen verständlichen Antwort.

    mfg
    trivial


Anmelden zum Antworten