Новая версия платформы MetaTrader 5 build 2085: Интеграция с Python и массовые улучшения в тестере стратегий - страница 50

 
Vict:

Вообще как бы согласен, что вопрос спорный (да и Страуструп это признаёт). Применимо лишь с паблик наследованием (иначе не надо), но с паблик можно легко сделать каст к базовому и наступить на грабли сделав ошибочный вызов.

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

Но в C++ видимо решили не заморачиваться и зачесали всё под единое правило.  Ибо там всё решается одной коротенькой строчкой:  using A::Test;   А в MQL такое невозможно. Вот о чём речь.

 
Renat Fatkhullin:
Еще раз:
1) у вас нет опыта в больших проектах, где за такое бьют по рукам
2) называть методы одинаково вне рамок виртуальных методов - это грязнейшая работа
3) мы все-таки позволяем правильно разрулить перекрытые методы, лишь предупреждая о конфликте

Продолжайте играть в самострел самостоятельно, пожалуйста. 

Ну так я ж и прошу вас, как человека с опытом, объяснить нам, неопытным, в чём именно "грязнейшесть".  Т.е. какие проблемы в этом?

И является ли грязнейшим такой случай:

void Test(int a) { }

...

void Test(int a, int b) { }

Это по сути то же самое, только функции в глобальной видимости, а не в классе.

 
Alexey Navoykov:

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

Смешно, да без ног останитесь при бездумном дублировании имён в потомках при кастах, подумайте об этом, и Страуструпа видимо так и не осилили.

Но using полезен, кто спорит то? Наследовались приватно, сделали доступ в потомке в паблике. Удобно, нужно.

 
Vict:

Смешно, да без ног останитесь при бездумном дублировании имён в потомках при кастах, подумайте об этом, и Страуструпа видимо так и не осилили.

А вы видимо прочитать мой пост не осилили. При чём тут каст?
 
Alexey Navoykov:
А вы видимо прочитать мой пост не осилили. При чём тут каст?
struct S1 {
   void f() {}
}
struct S2:S1 {
   void f() {}
};
...

S2 s2;
S1 *p = &s2;
s.f();
p->f();
Ну если вам нормально ... . И нет большой разницы - плюсовый стиль или как в шарпе, один фиг грабли. Просто публично наследоваться надо очень ограниченно + точеное использование using.
 
Я публикую видео. F5 не компилирует проект, он компилирует только текущий файл. Перед этим всегда компилируется проект
Файлы:
 
Juan Fernandez:
Я публикую видео. F5 не компилирует проект, он компилирует только текущий файл. Перед этим всегда компилируется проект

А почему видео такого маленького размера? Почему не сняли сразу 5 метров на 3 метра?

 
Vladimir Karputov :

Why is the video so small? Why didn't you immediately take off 5 meters by 3 meters?

У меня экран 4к. Я масштабировал видео до 1080p, но не знаю, как лучше масштабировать. В любом случае проблема в том, что F5 работает как F7 (файл компиляции), если вы не выбрали проект файла mq4 / mq5

 

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

На рисунке видно, что время последнее прохода в поиске не совпадает с временем последнего теста, и соответственно нужное значение не находится.


 

Смысл этого пункта меню?

Ничего не выполняется, пункт всегда активен.