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).