C++: mit einer Basis-Klasse als Implementierung einer Schnittstelle

In C++ ist es möglich, die Verwendung einer anderen Basis-Klasse, die Umsetzung einer Schnittstelle (d.h. abstrakte Basis-Klasse) in eine abgeleitete Klasse?

class Base
{
    virtual void myfunction() {/*...*/};
}
class Interface
{
    virtual void myfunction() = 0;
}
class Derived
    : public Base, public Interface
{
    //myfunction is implemented by base
}

Den oben genannten stellen, aber nicht wirklich arbeiten. Gibt es eine Möglichkeit, um diesen Effekt zu erzielen?

Falls es jemanden interessiert, der Grund für den Wunsch ist, dass es Sinn machen (für meine Anwendung) verwenden eine generische Bibliothek von einem anderen Projekt/namespace um die Implementierung einer Schnittstelle in meinem Projekt. Könnte ich einfach wickeln alles, aber das scheint wie eine Menge von zusätzlichen Aufwand.

Dank.

  • vielleicht, wenn Base geerbt von Interface...
  • +1 für klare Frage
  • Interface und Derived gehören zum Programm Base gehört in die Bibliothek. Es gibt viele Fälle, wo man hin möchte, nicht zu haben, gemeinsame Schnittstellen mit der Bibliothek - nur die Wiederverwendung der Implementierung zu unterstützen, die anwendungsspezifische Schnittstellen. Feature von ObjC (und Reihe von anderen Sprachen), aber nicht in C++.
InformationsquelleAutor deuberger | 2010-09-10
Schreibe einen Kommentar