Re[2]: Виртуальные функции и базовый класс
От: jrk  
Дата: 17.08.12 20:21
Оценка:
Здравствуйте, Caracrist, Вы писали:

...

C>B * b = new B();
C>A * a = new A();
C>A * ab = &b;

a->>f1(); // f1 не делает virtual call
ab->>f1();// f1 не делает virtual call
C>


И? Во-первых компилятор это не скушает все по той же причине.

Во-вторых я не понял что вы хотели сказать. "f1 не делает virtual call" — да, разумеется, и "a" и "ab" это указатели на "A", и там нет virtual call. Но к чему вы это?

В-третьих я могу переписать пример и уже в базовом классе сделать f1 виртуальной, но это ничего не изменит. Хотя вызов уже пойдет через таблицу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.