Funktionsdefinitionen einer Klasse in 2 cpp files?



  • Hallo,
    und zwar hab ich eine rein designtechnische Frage ­čÖä . Kann/Sollte man wenn eine Klasse sehr viele Funktionen hat z.B. viele Getter und Setter, die Definition dieser Funktionen in eine eigenene cpp verfrachten? z.B. KlassennameGetterSetter.cpp.

    Oder ist sowas nicht gern "gesehen", weil eigentlich macht es die cpp ├╝bersichtlicher.

    AlexAUT



  • Mh, wenn deine Klasse so riesig ist, dass die Cpp-Datei komplett un├╝bersichtlich wird, dann ist deine Klasse h├Âchstwahrscheinlich zu gro├č und du kannst sie aufsplitten.

    Denk dran, monolithische Klassen wie std::string sind nicht gut. Lieber viele kleinere orthogonale Klassen designen.


  • Mod

    Ja, das ist eine durchaus ├╝bliche Methode.

    Man darf sich nat├╝rlich auch fragen, ob eine Klasse wirklich so viele Methoden braucht. Ja, das kommt manchmal vor. Aber wenn du schon sagst, dass es zu gro├čen Teilen Getter und Setter sind, ist das verd├Ąchtig. eine Klasse sollte m├Âglichst eine Aufgabe erledigen und dies so gut abgeschottet wie m├Âglich.



  • Vielen Dank f├╝r eure Antworten.

    Hmm wegen den vielen Funktionen, die Klasse ist halt der "Kommunikationspunkt" zum Anwender von einer Kollisionsengine, ich will aber keine Pointer/Refernzen auf die Unterelemente geben, sondern einschr├Ąnken was der Benutzer ver├Ąndern darf von au├čen und was nicht.

    Vielleicht w├Ąre es da besser ich w├╝rd "friend" intern verwenden, dann w├╝rd ich nur Pointer/Referenzen geben und mit etliche Funktionen sparen.

    AlexAUT


Log in to reply