Hier herrscht mittlerweile einiges an Durcheinander. 8) "abstract" Deklarationen dürfen keine Implementierung implementieren.

Zumindest nicht in der Basisklasse.
Es geht hierbei nur um die Deklaration im class-"Kopf". Damit man es später ersetzen kann. "Virtual" dient zum späteren vererben von Methoden. Hierbei kann man dann auch eine Basis-Methode direkt implementieren. Dann muß das abstract eben entfallen.