Используете ли Вы ООП по максимому или избегаете его ? - страница 12

 

Проблемы во множественном наследовании возникают только при ромбовидных иерархиях классов, причем и они на С++ успешно решаются виртуальным наследованием.

Их можно просто избегать.

В остальном очень удобная штука, зря запрещают.

Да ладно, ну с ним, с полноценным множественным наследованием, но интерфейсы бы...

 
sigma7i:

В википедии хорошо описано, я процитирую никто не против :)

Интерфейсы безусловно похожи на абстрактные классы, но это не одно и то же. В контексте С#, например.

 
Комбинатор:

Да ладно, ну с ним, с полноценным множественным наследованием, но интерфейсы бы...

https://www.mql5.com/ru/forum/23/page18#comment_2379483

MQL5: Добавлена поддержка абстрактных классов и чисто виртуальных функций.

Абстрактные классы предназначены для создания обобщенных сущностей, на основе которых в дальнейшем предполагается создавать более конкретные производные классы. Абстрактный класс – это класс, который может использоваться лишь в качестве базового класса для некоторого другого класса, поэтому невозможно создать объект типа абстрактного класса.

Класс, содержащий хотя бы одну чисто виртуальную функцию, является абстрактным. Поэтому классы, производные от абстрактного класса, должны реализовать все его чисто виртуальные функции, иначе они также будут абстрактными классами.

Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:. - Страница 18 - Категория: общее обсуждение
 
MetaQuotes Software Corp.:

MQL5: Добавлена поддержка абстрактных классов и чисто виртуальных функций. 

Что-то у меня на нолик ругалось, логинился на демо метаквотов, версия должна быть последней... надо будет завтра еще раз посмотреть.

А вообще я имел в виду интерфейсы типа тех, которые в C#

 
Комбинатор:

Что-то у меня на нолик ругалось, логинился на демо метаквотов, версия должна быть последней... надо будет завтра еще раз посмотреть.

А вообще я имел в виду интерфейсы типа тех, которые в C#

И еще без пользовательских событий (событий определенных пользователем) оч тяжело. Чтобы многопоточность обеспечить я уже сделал 4-х экспертов на разных графиках, а события системным (виндовым) sleep () генерю.
 
sigma7i:

... 

В некоторых организациях запрещают использовать множественное наследование в С++, чтобы программисты не стреляли себе в ногу, а организации не теряли время == деньги.

Правда писать нужно больше и когда лень берет свое неопытные прогеры начинают возмущатся и истерить, мол неудобно.

Но когда приходит время поддержки, доработки, отладки, то все встает на свои места, ибо написание кода это 1/4 от всей разработки.

Классно! Шли шли и наконец пришли.
 
comp:
Вы ведете речь о создании интерфейса. Но что мешает и без абстрактных классов это делать, создавая для виртуальных функций тело в виде одного return? Или это совсем не одно и то же.

Не совсем. Нельзя создать экземпляр абстрактного класса

 
Комбинатор:

Что-то у меня на нолик ругалось, логинился на демо метаквотов, версия должна быть последней... надо будет завтра еще раз посмотреть.

А вообще я имел в виду интерфейсы типа тех, которые в C#

Ну так близкий аналог - абстрактный класс с чисто виртуальными функциями, без полей. В шарпе, конечно, компилятор отругает, если это нарушишь, тут, как и в плюсах, надо следить самому.
 
Yuriy Asaulenko:

Интерфейсы безусловно похожи на абстрактные классы, но это не одно и то же. В контексте С#, например.

Да, в интерфейсах шарпа есть строгий контроль со стороны компилятора. Шарп вообще хорошо продуманный язык.
 
Ihor Herasko:
Видимо, проблема в том, что уровень того большинства, которое использует МТ, не может в своих фантазиях уйти дальше, чем две МАшки ;) Для такого уровня, действительно, старого MQL4 - за глаза.
Этому большинству MQL вообще абсолютно не нужен. :) От силы даже те из "большинства", кто пользуется автоторговлей - купили/скачали советник, кинули на график "как есть" - и сидят, ждут бабла.))
Причина обращения: