Re[3]: непонятки с множественным наследованием
От: sadomovalex Россия http://sadomovalex.blogspot.com
Дата: 25.03.05 15:46
Оценка:
Здравствуйте, Leshi, Вы писали:

L>Не пойдет. Преобразовать из A* в B* неизвестно как. Я думаю, что правильнее всего будет завести промежуточный тип:


L>Вот тогда можно будет dynamic_cast использовать.


Почему не пойдет — у меня в контейнере гарантировано будут храниться C1 или C2. А dynamic_cast может использоваться для cross cast-инга. В MSDN-е:

A   A
|   |
B   C   D
| _ | _ |
    |
    E


The dynamic_cast operator can also be used to perform a “cross cast.” Using the same class hierarchy, it is possible to cast a pointer, for example, from the B subobject to the D subobject, as long as the complete object is of type E.


Я сам до этого старался обходить множественное наследование — а здесь не получилось, вот и напоролся
"Что не завершено, не сделано вовсе" Гаусс
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.