Разлики между abstract и vitrual methods
Понеже тези няколко изречения ми помогнаха да разбера разликата между това, какво е абстрактен и какво виртуален метод си позволих да ги преведа и да ги пусна във форума.
Абстрактният метод няма функционалност. Дъщерния клас трябва да съдържа собствена версия на метода. Абстрактният метод няма имплементация в родителския клас.
Виртуалната функция, ти казва: виж, тук има функционалност, която може да е, а може и да не е достатъчно добра за дъщерния клас. Ако е достатъчно добра, използвай този метод, ако пък не е, тогава го оверрайдвай и му дай собствена функционалност.
An abstract function can have no functionality. You're basically saying, any child class MUST give their own version of this method, however it's too general to even try to implement in the parent class.
A virtual function, is basically saying look, here's the functionality that may or may not be good enough for the child class. So if it is good enough, use this method, if not, then override me, and provide your own functionality.