2017-01-20 24 views
0

У меня есть два класса: диаграмма, расширяющая рынок.Как инициализировать класс и переопределить его родительский объект в MQL?

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

Вот код:

class Market { 
    public: 
    void Market(Market *_market) { 
     this = GetPointer(_market); // Error: '=' object required 
    } 
}; 

class Chart : public Market { 
    public: 
    void Chart(Market *_market) : Market(_market) { 
    } 
}; 

однако он терпит неудачу с:

'=' объект, необходимый

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

ответ

0

Это должно работать, перекрывая указатель на родительский класс в конструкторе:

class Market { 
}; 

class Chart : public Market { 
    public: 
    void Chart(Market *_market) { 
     Market *_parent = (Market *) GetPointer(this); 
     _parent = _market; 
    } 
};