N
Gast45189 schrieb:
Was ist der Unterschied zwische privaten Membern und Parametern? Ich verstehe da deine Frage nicht ganz. Mit der Benamung hast du natürlich recht, da muss ich mir noch Gedanken machen.
Normalerweise werden Memberfunktionen eingesetzt, um auf private Membervariablen der Klasse zuzugreifen. Ansonsten können sie nämlich freie oder statische Funktionen sein. Wenn du sowieso das Array als Parameter an die Funktion übergibst, braucht sie ja eigentlich das "Privileg" einer Memberfunktion nicht mehr. Halbwegs verständlich?
Gast45189 schrieb:
Auch hier kann ich dir leider (noch) nicht ganz folgen. Also die Methode (ich nehme an, du meinst die GetIndex-Methode) erhält als Parameter immer den Pointer auf das nullte Element des Arrays, welches sich in der abgeleiteten Klasse befindet und private ist. Das ist auch der Grund warum die Methode GetClientPointer existiert, weil das Array sowie der const Pointer auf das Nullte Element private sind.
Sagt dir der Begriff Polymorphie etwas? Damit kannst du wie gesagt in der Basisklasse Methoden deklarieren, die du erst in abgeleiteten Klassen definierst.
Aber bist du dir wirklich sicher, dass du die Methode GetIndex() in der Basisklasse brauchst? Reicht es nicht, diese in der abgeleiteten Klasse zu definieren? Ich frage mich hierbei nämlich, ob die Vererbung so richtig durchdacht ist - denn dein Design impliziert, dass jede CMyBaseClass eine CMyChildClass sein muss (weil sie eine Methode anbietet, die nur mit dieser abgeleiteten Klasse funktioniert). Und das widerspricht den Prinzipien der Objektorientierung.