verborgene Methoden aufrufen



  • Was ich gerne wissen würde ist, ob ich, nachdem ich eine oder mehrere Methoden in einer abgleiteten
    Klasse verborgen habe,
    die versteckten Methoden über den Namen der Basisklasse qualifizieren sollte, um sie direkt im
    Code, beispielsweise in main(), ausführen zu können?

    Ich weiss nicht, ob das gerade bequem ist. Deswegen habe ich gleich am Anfang in der abgeleiteten Klasse
    neue Methoden mit
    genau dem selben Namen und Parametern (sind einige ueberladene, die verborgen werden) erstellt, die die "originalen"
    Methoden der Basisklasse aufrufen. Das ist aber glaube ich, nicht gerade eine tolle Lösung für dieses Problem.

    Versteckte Methoden aufzurufen, indem man sie mit dem Namen der Basis qualifziert, erscheint mir richtiger,
    aber auch irgendwie viel aufwendiger. Andere Leute, die die abgeleitete Klasse dann benutzen, wissen dann
    vielleicht nicht, dass es noch mehr Elementfunktionen "weiter oben" gibt, wenn sie sich nicht gerade alle Basisklassen davon
    studiert haben.

    Wie sollte man es machen?



  • Nur mal so: Was soll das ganze überhaupt?



  • Will wissen, welche Methode sich besser eignet. Steht doch da?



  • Versteckte Methoden sollen nicht außerhalb der Klasse aufgerufen werden, das ist der Sinn der Sache.

    Wenn du das doch an einer Stelle brauchst, ist dir höchstwahrscheinlich schon bei der Basisklasse ein Designfehler unterlaufen, aber das kann ich ohne eine genauere Beschreibung des Problems nicht sicher und nicht genau sagen, geschweige denn einen Vorschlag abgeben.



  • Genau das meine ich: wozu versteckst du was, wenn dus dann sooft benutzt das dir das qualifizieren mit der basis zu mühsam ist -> Wie oxdeadbeaf schon sagt: wenns geht design überdenken



  • Von wegen Design übedenken.

    Hier habe ich die Lösung gefunden: http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=Overload#Answ

    😉


Anmelden zum Antworten