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