C++/CLI Schnittstellen



  • Hallo!

    Lese mich gerade in C++/CLI ein und habe mal eine Frage zu den
    Schnittstellen.
    In ANSI C++ gibt es ja die Mehrfachvererbung mit der ich die Methoden
    von Klasse A und B an eine Klasse C vererben kann und mir so das
    schreiben von vorhanden Methoden sparen kann.
    In C++/CLI gibt es diese Mehrfachvererbung nicht mehr. Als Ersatz sollen
    die Schnittstellen(Schlüsselwort"interface") dienen. Da diese aber nur
    die Deklarationen enthalten muss ich die Methoden ja doch selber
    schreiben. Mir ist jetzt nicht klar in wie fern das die
    Mehrfachvererbung von ANSI C++ ersetzen soll. Ich erkenne nur den Sinn
    der Schnittstellen um eine Klasse Polymorph zu machen.
    Kann mich da jemand aufklären?

    Viele Grüße Deepdiver99



  • C++/CLI ist da eh ein schlechtes Beispiel, da es generell nur für Interop gedacht ist.
    Aber nehmen wir mal .NET. Da gibts es tatsächlich keine Mehrfachvererbung wie in C++. Mehrfachvererbung wird generell als "böse" angesehen und das gibts in der Form so ziemlich nur in C++. Schnittstellen sind kein direkter Ersatz dafür. Es kommt eh sehr selten vor, dass man tatsächlich Mehrfachvererbung braucht. Das kann man zu 99% umgehen, und dann wird der Code meist auch sauberer und eleganter. Aber dass eine Klasse mehrere Schnittstellen implementieren muss, kommt schon häufiger vor.



  • Danke für deine Antwort 🙂 !
    Was bedeutet "Interop"? Habe es schon öfter gelesen aber keine passende Beschreibung gefunden.



  • Interoperabilität, also Zusammenspiel von managed .NET und nativen Anwendungen. Wieder quasi als Schnittstelle 😉



  • Danke dir für deine Antworten. Viele Grüße Deepdiver99


Anmelden zum Antworten