Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_CHART - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
A::f가 아닌 B::F를 반환하는 이유는 무엇입니까? 스크립트는 f에 대한 호출이 생성자 본문 실행 전에 발생하는 방식으로 작성되었습니다(굵게 강조 표시됨). 그러나 이 시점 에서 기본 클래스 A의 생성자 가 이미 호출되었으므로 this.f()는 기본 클래스를 구체적으로 참조해야 하며 B 생성자는 아직 실행되지 않았습니다. 추리/안식의 오류가 무엇인지 설명 부탁드립니다.
누군가가 관심을 가질 수 있습니다. 대답은 서비스 데스크입니다.
그것은 나에게 매우 흥미 롭습니다! Service Desk의 답변을 예를 들어 설명해 주십시오.
& == GetPointer(). * - 아무것도 바뀌지 않았다.
그것은 나에게 매우 흥미 롭습니다! Service Desk의 답변을 예를 들어 설명해 주십시오.
& == GetPointer(). * - 아무것도 바뀌지 않았다.
누군가가 관심을 가질 수 있습니다. 대답은 서비스 데스크입니다.
그건 그렇고, 다른 날 나는 그들에게 모든 데이터 유형 에 대한 포인터 도입에 대한 제안을 보냈습니다. 그리고 이 말도 안되는 제한은 이미 충분합니다.
* 연산자의 오버로드를 도입하는 것이 좋을 것입니다. 그렇지 않으면 그것 없이는 STL로 ID를 구현하는 것이 불가능합니다. 또한 calback뿐만 아니라 전체 형식 정의를 도입하는 것도 좋을 것입니다.
어떤 예가 필요합니까?
* 및 &에서 원하는 것. 단순하지만 시각적인 것. 편리함을 보기 위해.
내가 원하는 것은 이미 위에 썼습니다.
GetPointer(...)를 사용 하는 '&' 연산자가 있는 예를 직접 생각할 수 있습니다. 이것은 본질적으로 짧은 형식입니다.
'*' 연산자가 있는 예 - 이해에 도움이 될지 안 될지 모르겠습니다.
{
int m_value;
public :
Iterator( const int val) : m_value(val) { }
int operator *() { return m_value; }
};
int main( int argc, char **argv) {
Iterator *_it = new Iterator( 5 );
int _val = **_it;
//---
return 0 ;
}
이것은 C++에서 작동하지만 MQL에서는 m_value를 얻으려면 getter를 만들어야 합니다.
OBJ_CHART ChartRedraw(MainChartID)가 다시 그리기에 적합하지 않음을 도움말에 추가합니다. ChartRedraw(ObjChartID)가 필요합니다.
따라서 도움말의 예제가 올바르지 않습니다.
스케일을 N <= 5(막대 아래 영역의 크기 = 2^N)로 제한하지 마십시오.
이것은 틱 기록을 더 자세히 볼 수 있도록 하기 위해 필요하고 편리합니다.
{
public :
const int a;
A( int c = 0 ) : a(c) {}
virtual int f()
{
Print ( __FUNCTION__ );
return ( this .a);
}
};
class B : public A
{
public :
const int b;
B( int c = 0 ) : A(c), b( this .f()){}
virtual int f()
{
Print ( __FUNCTION__ );
return ( this .a);
}
};
void OnStart ()
{
B b;
A* a = new B;
delete a;
}
결과
2016.10 . 18 09 : 35 : 01.981 Test14 (GBPUSD,M1) B::f
A::f가 아닌 B::F를 반환하는 이유는 무엇입니까? 스크립트는 f에 대한 호출이 생성자 본문 실행 전에 발생하는 방식으로 작성되었습니다(굵게 강조 표시됨). 그러나 이 시점 에서 기본 클래스 A의 생성자 가 이미 호출되었으므로 this.f()는 기본 클래스를 구체적으로 참조해야 하며 B 생성자는 아직 실행되지 않았습니다. 추리/안식의 오류가 무엇인지 설명 부탁드립니다.