Include Frage



  • Hi, mal angenommen man hat einen Klasse Base von der hunderte weitere Klassen abgeleitet sind. Jede dieser Klassen hat eine Statische Funktion die nun wiederum ein Objekt der Klasse A zurückgibt. Da A nicht direkt Member der Klassen ist wurde in den Headern bis jetzt die Klasse A nur per forward declaration eingebunden. Und in jeder Source Datei der Header von A. Der Gedanke dahinter war die Compilierzeit zu reduzieren. Jedoch artet das Ganze in eine Menge Tipperei aus immer die Klasse A überall includieren zu müssen. Sollte man die Klasse A also doch lieber in Base.hpp includieren, wodurch sie allen anderen Klassen auch bekannt wird?



  • Probier das Ganze doch mal anders herum!
    😉



  • Student83 schrieb:

    Jede dieser Klassen hat eine Statische Funktion die nun wiederum ein Objekt der Klasse A zurückgibt. Da A nicht direkt Member der Klassen ist wurde in den Headern bis jetzt die Klasse A nur per forward declaration eingebunden.

    Das funktioniert nicht. Wenn direkt ein Stackobjekt zurückgegeben wird (und keine Referenz oder Pointer), muss eine vollständige Definition von A vorhanden sein.

    Überhaupt sehe ich nicht, wie das die Compile-zeit reduzieren soll.


Anmelden zum Antworten