|
|
|
Полиморфизм на cast преобразовании
|
|||
|---|---|---|---|
|
#18+
Привет, народ! Давненько на заглядывал сюда... У меня есть проблемка, учебный вопрос, так сказать. Делаю объектную иерархию: class A { ... virtual void show(); }; class B : public A { ... virtual void show(); }; class С : public A { ... virtual void show(); }; ... Делаю для всех созданных объектов повышающее приведение типа к указателю на класс A. А затем делаю for(i=0;i<qBall+5;++i) { GO ->Show();//массив указателей на А } Есть полиморфизм. Все хорошо. Но! Мне по учебному заданию(препод сказал) надо рассказать об особенностях данного вида полиморфизма. То есть его отличия от остальных видов - классического и т.д. Классическим наш препод называет вот что x::move()// не виртуальная { hide()//virtual ... show()//virtual } for(i=0;i<qBall+5;++i) { GO->Move();//в } Очевидно, что в 1 случае виртуальная функция вызывается напрямую, а во 2 через невиртуальный метод. Препод сказал, что этого мало. Искал в инете и в книжках разных типа Эккеля и Страуструпа, но пока не нашел. Может быть кто-нибудь может подсказать или ссылку дать, откуда вычитать? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2006, 23:44 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2031094]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 485ms |

| 0 / 0 |
