Aufteilung von Klassen in *.h und *.cpp



  • Hallo!

    Wieso teilt man in C++ Klassen eigentlich in Header- und Quellcode-Dateien auf? Ist doch technisch auch möglich den ganzen Code in die Headerdatei zu schreiben.
    Soll das Programm dadurch übersichtlicher werden? Ich finde eher dass es einfach ist wenn zusammengehörende Klassen auch in eine Datei geschrieben werden.

    Außerdem: Wenn ich Klassen aufteile und die Headerdatei in eine andere Klasse einbinde: Woher weiß der Compiler dann wo der eigentliche Code für die Klasse steht?

    mfg



  • Wieso teilt man in C++ Klassen eigentlich in Header- und Quellcode-Dateien auf?

    1. weil es übersichtlicher ist
    2. weil die Header in jeder Datei, die sie benutzt inkludiert wird und so auch der ganze Code includiert werden würde
    3. weil man so Compiletime sparen kann

    leider kann man Template Klassen nicht in Header und Quellcode Datei aufteilen, wenn der Compiler kein export unterstützt!

    Außerdem: Wenn ich Klassen aufteile und die Headerdatei in eine andere Klasse einbinde: Woher weiß der Compiler dann wo der eigentliche Code für die Klasse steht?

    weiss er auch nicht, interessiert ihn auch nicht. Wo die Funktionen stehen, dass such sich dann der Linker aus den übergeben Objekt-Dateien (und Librarys).


Anmelden zum Antworten