Скачать MetaTrader 5

массив массивов

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Tradeprog
83
Tradeprog  
всем привет, появилось немного свободного времени, решил переписать свои индикаторы. 
в МКЛ4 перемены там появился ООП
собсно вопрос: 

помогите создать массив массивов и как обращаться к нему? 

пример на волнах: 

есть класс ВОЛНА, в нем соответственно есть подволны

как создать массив экземпляров класса ВОЛНА чтобы в каждом экземпляре этого класса был доп массив с подволнами, и как обращаться к определенной подволне определенной волны? 

заранее благодарен! 
o_o
Модератор
24297
o_o  
imromann:

помогите создать массив массивов и как обращаться к нему? 

class CSubWave
{
public:
   double arr[];
};

class CWave
{
public:
   CSubWave sw[1];
};

CWavw wave;


wave.sw[0].arr...
Tradeprog
83
Tradeprog  
sergeev:


спасибо большое!

а теперь более сложный вопрос: что если вложенных объектов больше? больше имеется в глубину

 

тоесть:

загвоздка во вложенности объекта в объект ((
волна имеет подволны которые в свою очередь на меньшем тф становятся сами волнами в которых свои подволны которые на еще меньшем тф становятся волнами со своими подволнами и так до минутного тф… 
в итоге получаем кучу объектов вложенных друг в друга с заранее неизвестным их количеством по глубине вложенности 
Vadim Zhunko
5226
Vadim Zhunko  
Может рекурсивная структура (класс) поможет? Хотя, не знаю, переварит ли это MQL.
Tradeprog
83
Tradeprog  
Zhunko:
Может рекурсивная структура (класс) поможет? Хотя, не знаю, переварит ли это MQL.

саму рекурсию мкл поддерживает, а вот как это в ооп воплотить хз.. 
o_o
Модератор
24297
o_o  
imromann:

загвоздка во вложенности объекта в объект ((
волна имеет подволны которые в свою очередь на меньшем тф становятся сами волнами в которых свои подволны которые на еще меньшем тф становятся волнами со своими подволнами и так до минутного тф… 
в итоге получаем кучу объектов вложенных друг в друга с заранее неизвестным их количеством по глубине вложенности 

class CWave
{
public:
   double arr[];

public:
   CWave *subwave[];
}
Tradeprog
83
Tradeprog  
sergeev:



спасибо но немного непонятно (( 
Tradeprog
83
Tradeprog  
sergeev:



подробней можно? как приведенная вами конструкция создает глубину вложенности объектов?
Vadim Zhunko
5226
Vadim Zhunko  
imromann:

подробней можно? как приведенная вами конструкция создает глубину вложенности объектов?

Это и есть рекурсивный класс.

Так понятнее будет:

class Wave
 {
  public:
   double arr[];
   Wave aCWave[];
 };
Tradeprog
83
Tradeprog  
Zhunko:

Это и есть рекурсивный класс.

Так понятнее будет:




хм.. а как это использовать? 

можно небольшой пример?  

к примеру создать 3 главных волны

в каждой по от 3 до 10 подволны

в каждой подволне от 3 до 10 еще подволн

и тд на неизвестную глубину..

 

и как потом обратиться к какой либо подволне которая хз на какой глубине вложенности будет находиться..  

o_o
Модератор
24297
o_o  
imromann:


хм.. а как это использовать?

знаниями делимся, но ленивых здесь не любят.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий