super



  • Hallo,

    erstmal sorry für die vielen Fragen die ich hier stellen. aber ich kenn mich in c/c++ noch nicht wirklich gut aus.

    Meine Frage:
    kann ich außerhalb meiner Klasse nicht super aufrufen? habe ein header file und ein dazugehörigen cpp file in dem ich super.FunctionX() aufrufen möchte....Funktioniert aber leider nicht.
    Ist dies gar nicht möglich?

    Danke!
    mfg,
    shed



  • 'super' ist java.
    bei c++ musste den namen der oberklasse schreiben, gefolgt von ::



  • Und unabhängig davon muß der Compiler ja wissen welche Oberklasse du mit super aufrufen willst. Wenn Du "außerhalb" einer Klasse bist, woher soll dann der Compiler wissen welche Deiner Klassen denn mit super angesprochen werden soll. Stell Dir vor du stehst auf einem Parkplatz und jemand sagt Dir: Hol mir das Auto... Das ist ziemlich genau die Situation in der der Compiler ist wenn Du super außerhalb einer Klasse benutzt.



  • Hmm ... ja super ist zwar Java ... allerdings hat VC++ das auch drin ... nennt sich allerdings __super ...



  • (D)Evil schrieb:

    allerdings hat VC++ das auch drin ... nennt sich allerdings __super ...

    echt?
    geht das auch mit mehrfachvererbung?



  • Sorry ... bin da nicht genau informiert in wie weit das ding funzt ^^ Also will jetzt keine falschen Infos geben ...



  • (D)Evil schrieb:

    Hmm ... ja super ist zwar Java ... allerdings hat VC++ das auch drin ... nennt sich allerdings __super ...

    Ist aber eben kein Standard C++ und eine Microsoft Erweiterung. Und sofern Mehrdeutigkeiten bei Mehrfachvererbung vorhanden sind, gibt der Compiler Fehler aus.


Anmelden zum Antworten