Zwei Klassen und Funktionen die in beiden gleich sind, sich aber auf andre Elemente(RichEdit) beziehen.
-
Ich habe zwei Klassen.
Die eine Klasse wird bis zu 20 mal aufgerufen und hat ein RichEdit namens RichEdit drinnen.
Die zweite Klasse wird eigentlich nur einmal aufgerufen und hat auch ein Richedit namens RichEdit drinnen.
In beiden Klassen gibt es mehrere Funktionen die eigentlich genau gleich sind außer das sie in ihr 'spezielles' RichEdit schreiben.
Was kann ich tun das ich diese Funktionen nicht zweimal schreiben muss??
(Gehört der Post wegen Richedit hierher oder wegen C++ nach C++??)
(sry für den schlechten Title)
-
Instinktiv würde ich sagen, das gehört nach C++, aber so klar ist deine Beschreibung nun auch wieder nicht. Zeig am besten mal deine Klassendeklarationen.
-
Jetzt mal grob vereinfacht;
class a {public: TRichEdit *richedit; void __fastcall FontAuswertung(); }; class b {public: TRichEdit *richedit; void __fastcall FontAuswertung(); };Zwar wirklich nur sehr grob aber was solls.
Die jeweilige FontAuswertung bezieht sich auf 'ihr' (halt in derselben Klasse) Richedit. Beide haben eigentlich auch vollständig denselben code. Wie kann ich nun den code so vereinfachen das ich ihn nicht doppelt habe??
(Ich hoffe jetzt ists klarer)

-
Ich glaube Vererbung ist das Stichwort das du suchst.
class Papa {public: TRichEdit *richedit; void __fastcall FontAuswertung(); }; class KindA : public Papa {public: ...//alles was anders sein soll }; class KindB : public Papa {public: ...//alles was anders sein soll };
-
derselbewievorher schrieb:
Beide haben eigentlich auch vollständig denselben code.
Hi,
warum machst du dann 2 Klassen?MfG
Alexander Sulfrian