Здравствуйте DemAS, Вы писали:
DAS> Механизм понятен, не понятно назначение. А зачем может понадобится вызывать функцию класса через указатель на предка класса ? То есть зачем делать так:
DAS>DAS>Account *pAccount = pChecking;
pAccount->>PrintBalance();
DAS>
DAS> А вот так:
DAS>pChecking->>PrintBalance();
DAS>
DAS> что не пойдет ?
DAS> Поясните, ГДЕ ВЫГОДНО использовать виртуальные функции ?
DAS>
Выгодно использовать в параметрах функций, например. Функции можно передавать параметр типа указатель на предка, а в рантайме туда будет посылаться реальный указатель, на какого-нить потомка. Код будет один, а поведение определяться конкретной реализацией виртуальной функции в классе-потомке. Удобно для похожих объектов, но по-разному например отображающих свое состояние и т.п.