Als «virtual-functions» getaggte Fragen

Bei der objektorientierten Programmierung ist eine virtuelle Funktion oder virtuelle Methode eine Funktion oder Methode, deren Verhalten innerhalb einer ererbenden Klasse von einer Funktion mit derselben Signatur überschrieben werden kann. Dieses Konzept ist ein sehr wichtiger Bestandteil des Polymorphismus-Teils der objektorientierten Programmierung (OOP).


25
Warum brauchen wir virtuelle Funktionen in C ++?
Ich lerne C ++ und steige gerade in virtuelle Funktionen ein. Nach dem, was ich gelesen habe (im Buch und online), sind virtuelle Funktionen Funktionen in der Basisklasse, die Sie in abgeleiteten Klassen überschreiben können. Aber früher in diesem Buch konnte ich beim Erlernen der grundlegenden Vererbung Basisfunktionen in abgeleiteten …





13
Sind virtuelle Inline-Funktionen wirklich unsinnig?
Ich habe diese Frage erhalten, als ich einen Kommentar zur Codeüberprüfung erhielt, der besagt, dass virtuelle Funktionen nicht inline sein müssen. Ich dachte, virtuelle Inline-Funktionen könnten in Szenarien nützlich sein, in denen Funktionen direkt für Objekte aufgerufen werden. Aber das Gegenargument kam mir in den Sinn: Warum sollte man virtuell …




6
Warum werden C # -Schnittstellenmethoden nicht als abstrakt oder virtuell deklariert?
C # -Methoden in Schnittstellen werden ohne Verwendung des virtualSchlüsselworts deklariert und in der abgeleiteten Klasse ohne Verwendung des overrideSchlüsselworts überschrieben . Gibt es einen Grund dafür? Ich gehe davon aus, dass dies nur eine Annehmlichkeit für die Sprache ist, und offensichtlich weiß die CLR, wie man dies unter dem …




9
Überschreiben Sie virtuelle C ++ - Funktionen sicher
Ich habe eine Basisklasse mit einer virtuellen Funktion und möchte diese Funktion in einer abgeleiteten Klasse überschreiben. Gibt es eine Möglichkeit, den Compiler überprüfen zu lassen, ob die in der abgeleiteten Klasse deklarierte Funktion tatsächlich eine Funktion in der Basisklasse überschreibt? Ich möchte ein Makro oder etwas hinzufügen, das sicherstellt, …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.