Frage zur besseren Gestaltung meines Quelltextes mit abgeleiteten Klassen.
-
Hallo,
ich wollte mich hier mal schlau machen wie man seinen Quelltext am besten aufteilt, wenn man mit Ableitungen von Klassen arbeitet? Bislang habe ich kaum mit Ableitungen von Klassen gearbeitet, doch ich merke, wer OOP programmieren will, muss auch mit abgelitenen Klassen arbeiten. Nun habe ich ja für jede Klasse die ich in mein Projekt eingebunden habe immer eine Header Datei für die Deklaration und eine .cpp Datei für die Definition meiner Klassen angelegt. Wie mache ich das aber, wenn ich eine Klasse ableiten möchte?, mache ich diese Ableitung in den selben Datein, wie der von der Basisklasse oder - so wollte ich es eigentlich machen - kann man hier auch wieder neue Datein( .h; .cpp ) anlegen? Ich hatte es versucht aber der Compiler meinte, dass es eine redefinition der Basisklasse sei. Hmm hier mal meine Aufteilung etwas anschaulicher:
HeaderForClasses.h // beinhaltet alle libs die gebraucht werden | // sowie Benutzer eigene Typen ect. | v BaseClass.cpp <--- BaseClass.h -----> AbgeliteneKlasse.h ---> AgeliteneKlasse.cpp | | | | v | stdafx.h <---------------+Naja wie gesagt das scheint nicht das Optimale zu sein. Ich hoffe ihr habt da nen paar gute Tips für mich.
Gruß Tobi.
-
Ist Geschmackssache.Ich packe jede Klassendeklaration in eigene Header und inkludiere die benötigten Basisklassen darin. Btw: Die Vergangenheitsform von ableiten ist abgeleitet und nich abgelitten!
-
Nimm jedes mal eine neue Header/Code-Datei. Das macht es übersichtlicher und flexibler, wenn du weitere Klassen hinzufügst.
P.S. würde ich die Header mit .hpp enden lassen, um sie von C-Headern unterscheidbar zu machen.
P.P.S. einen Sammelheader solltest du unterlassen, da dies die Kompilierung verlangsamt und die Abhängigkeiten zu weit erhöht. Immer nur das includieren, was man wirklich braucht!
-
Wenn der Compiler von Redefinition spricht, dann hast du wahrscheinlich keine Include-Guards in den Headern, kann das sein?
#ifndef MYHEADER_H #define MYHEADER_H ... #endifmegaweber schrieb:
Btw: Die Vergangenheitsform von ableiten ist abgeleitet und nich abgelitten!
Kommt drauf an
