Ich habe eine Basisklasse 'a', die eine virtuelle Funktion enthält, in der abgeleiteten Klasse 'b' überlade ich diese Funktion. Jetzt habe ich noch eine Klasse 'c', die nur von 'b' abgeleitet ist, und ich habe einen Zeiger auf Klasse c. Aber ich bin nicht imstande herauszufinden, wie ich diese Funktion vom 'c' Klassenzeiger aufrufen soll. Hilf mir, vielleicht ist es dumm, aber ich stecke hier fest.Wie ein abgeleiteter Klassenzeiger die Basisklassenfunktion aufrufen kann
0
A
Antwort
1
struct A { virtual void foo() {} };
struct B: A { void foo() override {} };
struct C: B {};
auto main() -> int
{
C o;
C* p = &o;
p->foo(); // Calls B::foo
p->A::foo(); // Calls A::foo
}
0
Wenn c
die Zeiger auf C
sind:
c->A::method();
Verwandte Themen
- 1. Abgeleitete Klassenfunktion von Basisklassenfunktion aufrufen
- 2. C++ Ist "Klassenname *" ein Klassenzeiger?
- 3. Get abgeleitete Klasse mit Basisklassenfunktion
- 4. C++ Klassenzeiger mit Objektargument
- 5. Abgeleiteter Datentyp
- 6. Ungültige Operanden der Typen Klassenzeiger und Klassenzeiger auf Binäroperator +
- 7. Klassenzeiger unitialisierte lokale Variable
- 8. Aufruf der Basisklassenfunktion als abgeleitet
- 9. C++: Rückgabe Kind Klassenzeiger
- 10. Wie kann ich ein Eclipse-Plugin über die Befehlszeile aufrufen?
- 11. C# - Kann ein Timer ein Menüereignis aufrufen?
- 12. Kann ein Midlet ein anderes Midlet aufrufen?
- 13. Benutzerdefinierte Klassenzeiger als ungeordneter Kartenschlüssel
- 14. Abgeleiteter Typ in PostgreSQL
- 15. Copykonstruktor abgeleiteter QT Klasse
- 16. konvertieren Basisklassenzeiger in unbekannte abgeleitete Klassenzeiger
- 17. Xcode abgeleiteter Datenstandort
- 18. Vorhandensein optionaler abgeleiteter Datentyp-Komponenten
- 19. std :: unique_ptr mit abgeleiteter Klasse
- 20. C# -Schnittstellenimplementierung mit abgeleiteter Schnittstelle
- 21. Basisklassenvariable initialisiert mit abgeleiteter Klasse
- 22. C++ Kopien von Objekten mit abstrakten Klassenzeiger
- 23. Ermitteln abgeleiteter Typen mit Reflektion
- 24. Wie kann ich ein Fenster Kind Funktion in Javascript aufrufen?
- 25. Wie kann ein LKM eine Funktion des Kernel-Treibers aufrufen?
- 26. Wie kann ich Pufferüberlauf aufrufen?
- 27. Wie kann ich ein Plugin in WordPress aufrufen?
- 28. Zugreifen auf Klassenzeiger über mehrere Funktionen hinweg
- 29. Wie kann ich ein anderes Skript wiederholt aufrufen?
- 30. Wie kann man ein Ereignis in Google Scripts aufrufen?
Danke für die Hinweise und genauer zu sein, die ich auf Qt arbeitete (C++ GUI-Bibliothek) und dass ich eine Verbindungsfunktion der ist wie folgt connect ("C-Klassenzeiger", SIGNAL (A-Klasse FUNC), ein anderer PTR, SLOT (func)); jetzt benutze ich nur diese Funktion und es gibt mir den Fehler, dass FUNC nicht in C-Klasse ist gibt es eine Lösung für diese ... –