|
|
|
Полиморфизм на 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&fpage=350&tid=2031094]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
14ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 285ms |

| 0 / 0 |
