analizer 05.10.2011 18:45 mcabber

вопрос на пять с плюсом: http://ideone.com/dqrLf . Да, вопрос звучит именно как: «как это сделать, не вводя виртуальное наследование?». Над аггрегированием уже думаю, да.

1. kb 06.10.2011 08:33

Может я чего-то не понимаю. Зачем C наследовать IFace?

2. analizerkb /1 06.10.2011 08:39 mcabber

чтобы он тоже был интерфейсом для него, со своей собственного логикой

3. kbanalizer /2 06.10.2011 09:15

он же и от A и от B получает интерфейс IFace. нафига еще один? :-)

аа, понял вопрос. только вот меня смущает IFace* b = &c; ведь IFace — это абстрактный интерфейс, над которым ты потом не сможешь делать вызовы. потому (по моей ни разу не плюсовой логике) надо делать либо уже A* b, либо B* b. всё равно тебе ведь надо делать cast в дальнейшем либо туда либо туда. не? (хотя да, если наследовать только A — оно взлетит, но как-то неправильно это)

4. analizerkb /3 06.10.2011 09:16 mcabber

почему я не смогу делать вызов b→f();?

5. kbanalizer /4 06.10.2011 09:50 c8541125

хотя да, хер его знает.

Do you really want to delete ?