Ich habe eine alte statische Bibliothek (Klasse implementieren), ich möchte eine nicht virtuelle Funktion in virtuelle Funktion in einer Klasse ändern, sollte ich die Bibliothek neu kompilieren?Sollte ich Klassenimplementierung rekompilieren, wenn nicht virtuelle Funktion in virtuelle Funktion geändert wird?
0
A
Antwort
2
Ich wollte etwas mehr Argumentation zur Antwort von @jesper hinzufügen Ja, denn jetzt wird es neue Eintrag pro neue virtuelle Funktion in Vtable so Neukompilierung ist muss.
+0
* Und * weil alle Anrufe dazu jetzt über die VFT gehen müssen. – EJP
+0
ja! VFT wird bei jedem Aufruf nach Objekt für diese Klasse nachgeschlagen. –
4
Ja. Sie müssen die Bibliothek und Anwendungen neu kompilieren, die es verwenden.
Verwandte Themen
- 1. Overridden virtuelle Funktion nicht
- 2. virtuelle Funktion nicht funktioniert
- 3. Warum sollte eine virtuelle Funktion privat sein?
- 4. Virtuelle Vorlage Mitglied Funktion
- 5. Inline virtuelle Funktion
- 6. virtuelle Member-Funktion Notwendigkeit
- 7. C++ virtuelle Funktion in Konstruktor
- 8. Wie wird eine reine virtuelle Funktion aufgerufen?
- 9. Virtuelle Tabelle für die abgeleitete Klasse, die keine virtuelle Funktion hat, außer Elternklasse eine virtuelle Funktion
- 10. C++ virtuelle Funktion Rückgabetyp
- 11. C++ Polymorphismus und virtuelle Funktion
- 12. Warum virtuelle Funktion Segmentierungsfehler geben
- 13. virtuelle Funktion in Eltern der Elternklasse
- 14. Kann eine virtuelle Funktion durch eine nicht-virtuelle Funktion überschrieben werden?
- 15. Wie rein virtuelle Funktion in C++ implementieren
- 16. private virtuelle Funktion in abgeleiteten Klasse
- 17. Mongoose virtuelle Set-Funktion nicht aufgerufen, wenn Wert Objekt
- 18. Öffentliche virtuelle Funktion abgeleitet private in C++
- 19. Wie man virtuelle Funktion in mongoosejs einstellt?
- 20. virtuelle Funktion in privater oder geschützter Vererbung
- 21. Exception-Spezifikation beim Überschreiben eine virtuelle Funktion
- 22. virtuelle vs nicht-virtuelle Mehrfachvererbung in C++
- 23. eine virtuelle Funktion mit einer Templat-Funktion überschreibt
- 24. Bedingtes Attribut für eine virtuelle Funktion
- 25. Virtuelle Spalte mit deterministischen benutzerdefinierten Funktion
- 26. virtuelle Funktion mit dem Parameter als Klassenzeiger
- 27. verstehen virtuelle Funktion und Zeiger Verwendung
- 28. eine erste virtuelle Funktion eine Klasse
- 29. eine nicht virtuelle Funktion in C++ neu definieren
- 30. Wie eine Basisklasse virtuelle Funktion aufzurufen, die auf eine Funktion
Hinzugefügt [tag: vtable], weil das vtable-Layout betroffen ist. – curiousguy