tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
412
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kaddi1987 kaddi1987 ist offline Grünschnabel
    Registriert seit
    Nov 2011
    Beiträge
    3
    Hallo zusammen,
    ich würde gerne wissen, was der Sinn und Zweck der Trennung von Deklaration und Definition in C++ durch Aufteilung einer einzelnen C++-Datei in ein Implementation-File (.cpp) und in ein Header-File (.h) ist.
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi und Willkommen bei tutorials.de

    Bei mehreren Cpp-Dateien, die gegenseitig ihre enthaltenen Funktionen verwenden,
    müsste man theoretisch Namen/Parameter/etc. jeder Funktion/Variablen aus anderen Cpps,
    die man in einer Cpp verwenden will, am Anfang der Cpp hinschreiben.

    zB.eine A.cpp:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    int funktion1(int a)
    {
       ...
    }
     
    int funktion2(int a, int b)
    {
       ...
    }
     
    int funktion3(int a, int b, int c)
    {
       ...
    }
    Wenn das Programm nicht nur in der A.cpp ist, sondern auf drei Cpps aufgeteilt ist,
    und die B.cpp und C.cpp die drei Funktionen von A brauchen,
    müsste man am Anfang von B und C sowas schreiben:
    Code cpp:
    1
    2
    3
    
    int funktion1(int a);
    int funktion2(int a, int b);
    int funktion3(int a, int b, int c);
    Wenn man ein großes Programm in 100 Dateien aufteilt,
    jede Datei 50 Funktionen hat
    und Funktionen aus jeweils 30 anderen der 100 Dateien braucht,
    wird sowas sehr lustig zum Aufschreiben...

    Deshalb macht man für jede cpp-Datei eine h-Datei
    (könnte statt h auch ebensogut xy haben, einfach eine Textdatei),
    die die Funktionsliste für genau diese cpp-Datei einmal enthält.

    In allen anderen Cpps bindet man diese h-Datei mit #include ein.
    #include ist ca. so, als würde man statt jedem #include die ganze Datei reinkopieren.
    Damit hat man mit einer Zeile jeweils die ganze Funktionsliste.
    Spart Schreiberei/Kopiererei und ist viel übersichtlicher.

    ...
    Solange es im Programm nur eine cpp-Datei gibt, hat es keinen wirklichen Sinn für das Programm.
    Sollte man aber trotzdem gleich machen,
    falls das Programm mal erweitert wird und eine zweite Cpp bekommt...

    Gruß
    kaddi1987 bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    kaddi1987 kaddi1987 ist offline Grünschnabel
    Registriert seit
    Nov 2011
    Beiträge
    3
    super,vielen dank für die schnelle und ausführliche antwort
     

Ähnliche Themen

  1. Sinn und Zweck dieses Forums
    Von Thomas Darimont im Forum Design Patterns + Tipps & Tricks für Java
    Antworten: 0
    Letzter Beitrag: 03.05.11, 02:24
  2. Java Servertool, Sinn und Zweck?
    Von DerKoenig im Forum Java
    Antworten: 3
    Letzter Beitrag: 28.04.10, 20:42
  3. Sinn und Zweck dieses Forums
    Von Thomas Darimont im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 8
    Letzter Beitrag: 02.05.08, 14:31
  4. Antworten: 7
    Letzter Beitrag: 06.01.05, 13:29
  5. Radiosity - Sinn und Zweck der Exposer Control?
    Von tganter im Forum 3D Studio Max
    Antworten: 11
    Letzter Beitrag: 28.04.04, 16:23