Was inkludieren???



  • Hallo, eigentlich ist es eine ganz einfache Frage (glaub ich) es geht mir hier vor allem um guten stil.

    Also, wenn ich von meiner main() Funktion andere Funktionen in eine andere Datei auslagern möchte, nenne ich diese andere datei *.cpp oder *.h ?
    Ich hab nämlich mal gehört, daß es kein guter Stil wäre eine *.cpp zu inkludieren.
    Gibt es da so etwas wie eine Konvention??

    Danke schon mal

    Ebi



  • Du legst die Deklaration einer Funktion in eine .h und die Definitionen in eine gleichnamige .cpp.

    Dann includest du die .h.

    Das mit dem Stil ist korrekt. Ohne schwerwiegenden Grund inlcludet man keine .cpp.



  • Das heißt, du trennst auch simple Funktionen in Definition und Deklaration? Ist das nicht sehr umständlich?

    Das mit dem Stil ist korrekt. Ohne schwerwiegenden Grund inlcludet man keine .cpp.

    gibt's dafür einen Grund oder "..ist das halt so..."?

    Ebi



  • Ebi01 schrieb:

    Das mit dem Stil ist korrekt. Ohne schwerwiegenden Grund inlcludet man keine .cpp.

    gibt's dafür einen Grund oder "..ist das halt so..."?

    CPP Dateien sind halt dafür gedacht, einzeln kompiliert zu werden.
    Header werden einfach eingefügt.

    Der Gedanke ist der, dass obwohl die Funktionen schon fertig kompiliert sind,
    du sie in anderen CPP aufrufen kannst indem du einfach nur über die Header ihre Prototypen bekanntmachst.



  • Beispielsweise:
    Damit andere Programmierer deine Funktionen verwenden können lieferst du im
    allgemeinen die Library und den Header mit den Deklarationen aus. Den Quellcode
    in der CPP-Datei behälst du schön für dich, der geht niemanden was an. 🙂

    mfg JJ



  • Das leuchtet ziemlich ein 😋 😋 😋 . Vielen Dank an alle 👍

    Ebi



  • John Doe schrieb:

    Beispielsweise:
    Damit andere Programmierer deine Funktionen verwenden können lieferst du im
    allgemeinen die Library und den Header mit den Deklarationen aus. Den Quellcode
    in der CPP-Datei behälst du schön für dich, der geht niemanden was an. 🙂

    mfg JJ

    Vielleicht noch anzumerken, dass die Quellcodes dann in eine .lib kommen.

    Außerdem enthalten die Header meistens Kommentare und Informationen zur Schnittstelle.



  • Vielleicht noch anzumerken, dass die Quellcodes dann in eine .lib kommen.
    

    😕 😕 😕



  • Es geht darum, die Implementation auf herkömmliche Weise (gibt andere Möglichkeiten) unzugänglich zu machen.


Log in to reply