Re[3]: Виртуальное наследование
От: McSeem2 США http://www.antigrain.com
Дата: 07.09.07 00:43
Оценка: 6 (1) +4
Здравствуйте, Programador, Вы писали:

P>Если есть множественное наследование, то должно быть и виртуальное. А зачем нужно множественное? да затем что и простое.

P>Кстати и без простого можно и обойтись
P>
P>struct B
P>{ int x,y;
P>};
P>struct D
P>{ B B;
P>  int z;
P>};
P>


Без наследования можно обойтись. И даже нужно, полностью сохраняя при этом идею полиморфизма. Но не в C++, Java, C# и тому подобных. Сама идея наследования как расширения функциональности является глубоко порочной и противоречит сущности нашего мира. Особенный LOL вызывают попытки порождения производных классов от std::string, std::vector<MyType> и тому подобных. Наследование должно быть только специализацией функциональности и ничем более. Короче, нет виртуальных функций в базовом классе? — наследование запрещено. Вот так должно быть IMSO. Но тогда это уже и не наследование получается, а некая динамическая специализация. А тот беспредел, что сейчас имеется, в конечном итоге приводит к обилию нелепых конструкций, типа ((my_string*)&std_str)->my_compare_with(b);
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.