Re: Virtual function
От: Syd Россия  
Дата: 25.10.02 10:51
Оценка: 1 (1)
Здравствуйте DemAS, Вы писали:

DAS> Механизм понятен, не понятно назначение. А зачем может понадобится вызывать функцию класса через указатель на предка класса ? То есть зачем делать так:


DAS>
DAS>Account *pAccount = pChecking;
pAccount->>PrintBalance();
DAS>


DAS> А вот так:


DAS>
pChecking->>PrintBalance();
DAS>


DAS> что не пойдет ?


DAS> Поясните, ГДЕ ВЫГОДНО использовать виртуальные функции ?


DAS>


Выгодно использовать в параметрах функций, например. Функции можно передавать параметр типа указатель на предка, а в рантайме туда будет посылаться реальный указатель, на какого-нить потомка. Код будет один, а поведение определяться конкретной реализацией виртуальной функции в классе-потомке. Удобно для похожих объектов, но по-разному например отображающих свое состояние и т.п.
I'm just talking about having fun
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.