이미 존재하지 않는 것을 어떻게 초기화하시겠습니까? 객체 가 생성된 후 존재하기 시작하며 이미 초기화될 수 있습니다.
나는 즉시 당신에게 말했다 - 객체에 대한 매개변수 생성자를 만들고 그것에 필요한 매개변수를 전달하면 새로 생성된 객체가 초기화됩니다.
프로그램의 OnInit()에서 필요한(모든 개체에 대한 상수) 데이터로 채우는 구조를 통해 매개변수를 전달할 수 있습니다. 또한, 예를 들어 OnTick() 또는 다른 표준 처리기에서 고유한 개체를 생성하지만 생성할 때는 예를 들어 다음과 같이 작성합니다. CMyObject 개체 = 새로운 CMyObject(and_here_structure_with_set_parameters);
또는 개체 데이터가 프로그램마다 전혀 변경되지 않고 항상 동일한 값을 갖는 경우 Igor가 위에서 말한 것처럼 초기화 목록을 사용하여 필요한 매개변수를 사용하여 생성자에서 명시적으로 초기화합니다.
이미 존재하지 않는 것을 어떻게 초기화하시겠습니까? 객체를 생성한 후 객체 는 존재하기 시작하며 이미 초기화될 수 있습니다.
나는 즉시 당신에게 말했다 - 객체에 대한 매개변수 생성자를 만들고 그것에 필요한 매개변수를 전달하면 새로 생성된 객체가 초기화됩니다.
프로그램의 OnInit()에서 필요한(모든 개체에 대한 상수) 데이터로 채우는 구조를 통해 매개변수를 전달할 수 있습니다. 또한, 예를 들어 OnTick() 또는 다른 표준 처리기에서 고유한 개체를 생성하지만 생성할 때는 예를 들어 다음과 같이 작성합니다. CMyObject 개체 = 새로운 CMyObject(and_here_structure_with_set_parameters);
네, 분명합니다. 고맙습니다. 글쎄, 어떻게 든 나는 객체를 생성 할 때 생성자 또는 이와 유사한 것에 전달할 필요없이 사전 설정 매개 변수를 즉시 가질 수 있도록 솔루션이 있다고 생각했습니다. 어떤 부모 수업이나 다른 것을 통해.
Juer : 클래스에서 매개 변수로 표시 매개 변수 등과 같은 모든 종류의 넌센스도 있습니다. 일반적으로 정적이고 동일합니다. 객체를 생성할 때마다 이 값을 전달해야 하는 이유는 무엇입니까?
그러니 넘기지 마세요. 내가 보여준 것처럼 초기화 목록에서 초기화하십시오. 클래스의 인스턴스를 생성하는 순간 클래스 생성자가 자동으로 호출되며 초기화 목록에 지정된 모든 클래스 멤버의 초기화가 수반됩니다. CCandle 메서드에 Print 함수를 넣으면 호출 없이 생성자가 어떻게 호출되는지 알 수 있습니다.
그러니 넘기지 마세요. 내가 보여준 것처럼 초기화 목록에서 초기화하십시오. 클래스의 인스턴스를 생성하는 순간 클래스 생성자가 자동으로 호출되며 초기화 목록에 지정된 모든 클래스 멤버의 초기화가 수반됩니다. CCandle 메서드에 Print 함수를 넣으면 호출 없이 생성자가 어떻게 호출되는지 알 수 있습니다.
이해하지 못했습니다. 생성자를 통해 전달하거나 초기화 함수를 통해 전달하는지 여부의 차이점은 무엇입니까?
그러니 넘기지 마세요. 내가 보여준 것처럼 초기화 목록에서 초기화하십시오. 클래스의 인스턴스를 생성할 때 클래스 생성자가 자동으로 호출되며 초기화 목록에 지정된 모든 클래스 멤버의 초기화가 수반됩니다. CCandle 메서드에 Print 함수를 넣으면 호출 없이 생성자가 어떻게 호출되는지 알 수 있습니다.
어떻게 초기화됩니까? 어떤 가치? 불분명
전문가의 입력 매개변수 에 초기값이 있다고 가정해 보겠습니다. 여기에서 이 클래스의 각 개체로 전송해야 합니다. 그러나 새로 생성된 모든 항목에 전달하는 것은 아닙니다.
안녕하세요, 왜 그런 주기로 지정가 주문이 지정가 주문을 설정한 후 다음 때에만 지정가 주문이 삭제되는지 알려주세요. 바에 한 번 더 지정가 주문이 설정되지 않았습니다. 즉 지정가 주문이 설정된 경우에만 지정가 주문이 제거되고 그 후에 지정가 주문이 없는 곳에 2개의 바가 따릅니다.
int i;
for (i= 0 ;i<= OrderTicket ();i++)
{
takelimit= OrderSelect (ticket, SELECT_BY_TICKET , MODE_TRADES );
if ( iBarShift ( Symbol (), 0 , OrderOpenTime ())== 2 ) //здесь нужно что бы на 2-ом баре если есть ордер его удалить, но удаляется он только если после его установки небыло на след баре еще лимитника
{
deletelimit= OrderDelete (ticket);
if (!deletelimit)
{
Comment ( GetLastError ());
}
}
}
if (условие для байлимита)
{ордерсенд}
elseif (условие для селлимита)
{ордерсенд}
전문가의 입력 매개변수 에 초기값이 있다고 가정해 보겠습니다. 여기에서 이 클래스의 각 개체로 전송해야 합니다. 그러나 새로 생성된 모든 항목에 전달하는 것은 아닙니다.
예, 여기 있습니다:
inputint i_nA = 10 ;
inputdouble i_fB = 20.0 ;
inputdatetime i_dtC = D'2018.03.08 10:12:14' ;
class CCandle
{
int m_nA;
double m_fB;
datetime m_dtC;
public :
CCandle( void );
};
CCandle::CCandle( void )
: m_nA(i_nA)
, m_fB(i_fB)
, m_dtC(i_dtC)
{
Print ( "Создан объект со значениями: A = " , m_nA, ", B = " , m_fB, ", C = " , m_dtC);
}
intOnInit ()
{
CCandle arrclass[ 10 ];
return ( INIT_SUCCEEDED );
}
실행하면 다음을 얻습니다.
022 : 09 : 36.706 Test EURUSD,M1 inputs: i_nA= 10 ; i_fB= 20.0 ; i_dtC= 1520503934 ;
022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: Создан объект со значениями: A = 10 , B = 20.0 , C = 2018.03 . 0810 : 12 : 14022 : 09 : 36.995 Test EURUSD,M1: initialized
022 : 09 : 36.995 Test EURUSD,M1: uninit reason 0022 : 09 : 37.062 Script Test EURUSD,M1: removed
이게 더 짧나요? bool barup=... WindowRedraw(); 여전히 실행됩니다 - if에서 제거됨
더 짧을 수 있습니다 ... 내 파일 참조
질문의 진술은 어떻게 이해할 수 있습니까? 같은 초기화 감각.
이미 존재하지 않는 것을 어떻게 초기화하시겠습니까? 객체 가 생성된 후 존재하기 시작하며 이미 초기화될 수 있습니다.
나는 즉시 당신에게 말했다 - 객체에 대한 매개변수 생성자를 만들고 그것에 필요한 매개변수를 전달하면 새로 생성된 객체가 초기화됩니다.
프로그램의 OnInit()에서 필요한(모든 개체에 대한 상수) 데이터로 채우는 구조를 통해 매개변수를 전달할 수 있습니다. 또한, 예를 들어 OnTick() 또는 다른 표준 처리기에서 고유한 개체를 생성하지만 생성할 때는 예를 들어 다음과 같이 작성합니다.
CMyObject 개체 = 새로운 CMyObject(and_here_structure_with_set_parameters);
또는 개체 데이터가 프로그램마다 전혀 변경되지 않고 항상 동일한 값을 갖는 경우 Igor가 위에서 말한 것처럼 초기화 목록을 사용하여 필요한 매개변수를 사용하여 생성자에서 명시적으로 초기화합니다.
클래스 생성자에 있는 초기화 목록에서 수행됩니다.
이미 존재하지 않는 것을 어떻게 초기화하시겠습니까? 객체를 생성한 후 객체 는 존재하기 시작하며 이미 초기화될 수 있습니다.
나는 즉시 당신에게 말했다 - 객체에 대한 매개변수 생성자를 만들고 그것에 필요한 매개변수를 전달하면 새로 생성된 객체가 초기화됩니다.
프로그램의 OnInit()에서 필요한(모든 개체에 대한 상수) 데이터로 채우는 구조를 통해 매개변수를 전달할 수 있습니다. 또한, 예를 들어 OnTick() 또는 다른 표준 처리기에서 고유한 개체를 생성하지만 생성할 때는 예를 들어 다음과 같이 작성합니다.
CMyObject 개체 = 새로운 CMyObject(and_here_structure_with_set_parameters);
네, 분명합니다. 고맙습니다. 글쎄, 어떻게 든 나는 객체를 생성 할 때 생성자 또는 이와 유사한 것에 전달할 필요없이 사전 설정 매개 변수를 즉시 가질 수 있도록 솔루션이 있다고 생각했습니다. 어떤 부모 수업이나 다른 것을 통해.
클래스에서 매개 변수로 표시 매개 변수 등과 같은 모든 종류의 넌센스도 있습니다. 일반적으로 정적이고 동일합니다. 객체를 생성할 때마다 이 값을 전달해야 하는 이유는 무엇입니까?
그러니 넘기지 마세요. 내가 보여준 것처럼 초기화 목록에서 초기화하십시오. 클래스의 인스턴스를 생성하는 순간 클래스 생성자가 자동으로 호출되며 초기화 목록에 지정된 모든 클래스 멤버의 초기화가 수반됩니다. CCandle 메서드에 Print 함수를 넣으면 호출 없이 생성자가 어떻게 호출되는지 알 수 있습니다.
네, 분명합니다. 고맙습니다. 글쎄, 어떻게 든 나는 객체를 생성 할 때 생성자 또는 이와 유사한 것에 전달할 필요없이 사전 설정 매개 변수를 즉시 가질 수 있도록 솔루션이 있다고 생각했습니다. 어떤 부모 수업이나 다른 것을 통해.
다시. 생성자에 데이터를 전달하지 않고도 가능합니다.
그러니 넘기지 마세요. 내가 보여준 것처럼 초기화 목록에서 초기화하십시오. 클래스의 인스턴스를 생성하는 순간 클래스 생성자가 자동으로 호출되며 초기화 목록에 지정된 모든 클래스 멤버의 초기화가 수반됩니다. CCandle 메서드에 Print 함수를 넣으면 호출 없이 생성자가 어떻게 호출되는지 알 수 있습니다.
이해하지 못했습니다. 생성자를 통해 전달하거나 초기화 함수를 통해 전달하는지 여부의 차이점은 무엇입니까?
그러니 넘기지 마세요. 내가 보여준 것처럼 초기화 목록에서 초기화하십시오. 클래스의 인스턴스를 생성할 때 클래스 생성자가 자동으로 호출되며 초기화 목록에 지정된 모든 클래스 멤버의 초기화가 수반됩니다. CCandle 메서드에 Print 함수를 넣으면 호출 없이 생성자가 어떻게 호출되는지 알 수 있습니다.
어떻게 초기화됩니까? 어떤 가치? 불분명
전문가의 입력 매개변수 에 초기값이 있다고 가정해 보겠습니다. 여기에서 이 클래스의 각 개체로 전송해야 합니다. 그러나 새로 생성된 모든 항목에 전달하는 것은 아닙니다.
안녕하세요, 왜 그런 주기로 지정가 주문이 지정가 주문을 설정한 후 다음 때에만 지정가 주문이 삭제되는지 알려주세요. 바에 한 번 더 지정가 주문이 설정되지 않았습니다. 즉 지정가 주문이 설정된 경우에만 지정가 주문이 제거되고 그 후에 지정가 주문이 없는 곳에 2개의 바가 따릅니다.
어떻게 초기화됩니까? 어떤 가치? 불분명
초기화 목록에 적어둔 것들.
전문가의 입력 매개변수 에 초기값이 있다고 가정해 보겠습니다. 여기에서 이 클래스의 각 개체로 전송해야 합니다. 그러나 새로 생성된 모든 항목에 전달하는 것은 아닙니다.
예, 여기 있습니다:
실행하면 다음을 얻습니다.