기고글 토론 "MQL5 프로그래밍 기본: 목록" - 페이지 7

 
스위치를 사용해야 하기 때문에 전체 요점이 사라집니다. 그렇다면 불필요한 조작 없이 각 유형의 객체에 대해 다른 배열을 사용하면 됩니다. 그래서 "왕은 벌거벗었다".
 

때때로 여기 많은 또는 일부 사람들이 광신과 현실, 바람직한 것과 가능한 것을 혼동하는 것 같습니다.

삽을 들고 파는 대신 삽 테마를 정교하게 과시합니다."그리고 아마도 여기 가장자리에서 날카롭게 할 수 있습니다.","어쩌면 여기에 모서리를 비틀어".... 모든 것은 삽의 수준에서 끝납니다.

 
Integer:
스위치를 사용해야 하기 때문에 전체 요점이 사라집니다. 그렇다면 불필요한 조작 없이 각 유형의 객체에 대해 다른 배열을 사용하면 됩니다. 그래서 "왕은 벌거벗었다".

이것은 시트에 모든 유형의 개체를 포함할 수 있다는 것을 보여주는 예시입니다. 또한 각 유형에 대한 추가 정보가 포함되어 있으면 각 유형을 동적으로 식별할 수 있습니다. 이 "추가 정보"는 약한 연결 고리이지만, 안타깝게도 MQL은 유형 제어를 위한 도구를 제공하지 않기 때문에 이 정보 없이는 할 수 없습니다. 더 나은 해결책을 알고 계신 분이 있다면 코드를 제출해 주세요.

댓글에 "템플릿 메서드" 패턴을 다루지 않았다는 힌트가 있는 것처럼))))

 
C-4:

1. 시트에 모든 유형의 객체를 포함할 수 있음을 보여주는 데모입니다.

2. "템플릿 메서드" 패턴을 다루지 않았음을 암시하는 댓글))))

1. 물론 좋습니다. 하지만 그게 무슨 소용이 있을까요?

2. 네, 그리고...? 내가 많이 잃었나요? 이것은 다시 삽으로 무언가를 "날카롭게"또는 "구부리는"방법에 대한 대화입니다.

 
여기서 말하는 '패턴'이란 무엇일까요? 누군가 자신의 사고 방식을 강요하고 모두가 춤을 추는 것일까요? 이러한 패턴이 왜 그렇게 높은 순위로 올라갔을까요?
 
Integer:

1. 물론 좋습니다. 하지만 그게 무슨 소용이 있을까요?

2. 네, 그리고...? 내가 많이 잃었나요? 이것은 다시 장점에 대한 대화가 아니라 삽에서 무언가를 "날카롭게"또는 "구부리는"방법에 대한 주제에 대한 대화입니다.

그래서 작업은 무엇이었습니까? 무엇을 해야 했나요? 하나의 노드로 여러 클래스의 작업을 보여 달라는 요청을 받았다고 생각했습니다.
 

나는 또한 다른 객체를 하나의 배열에 넣을 수 있었고, 여분의 것이 없기 때문에 더 명확하다는 점에 유의하십시오:

class base{
   private:
   public:   
};

class cl1:public base{
   private:
      int m_v1;
      int m_v2;
   public:  
   void cl1(int v1,int v2){
      m_v1=v1;
      m_v2=v2;   
   }
   void f1(){
      Alert("(1) "+m_v1);
   }
   void f2(){
      Alert("(1) "+m_v2);   
   }
};

class cl2:public base{
   private:
      int m_v1;
      int m_v2;
   public:  
   void cl2(int v1,int v2){
      m_v1=v1;
      m_v2=v2;   
   }
   void f3(){
      Alert("(2) "+m_v1); 
   }
   void f4(){
      Alert("(2) "+m_v2); 
   }
};

base * a[];

int x1=1;
int x2=2;

int x()
  {
   
   return(x1=x2);
  }

void OnStart()
  {

   ArrayResize(a,10);
   
   cl1 * a1;
   
   a[0]=new cl1(1,2);
   a[1]=new cl2(3,4);  
   
}

그래서 뭐? 아무것도 없습니다. 과부하가 작동하지 않으므로 유형을 등록한 다음 스위치를 통해 등록해야합니다. 그게 모든 기쁨입니다.

 
Integer:
여기서 말하는 '패턴'이란 무엇일까요? 누군가 자신의 사고 방식을 강요하고 모두가 춤을 추는 것일까요? 이 패턴이 왜 그렇게 높은 순위로 올라갔습니까?
아니, 아무것도 아니야, 걱정하지 마세요 ... 괜찮아요. 어느 날 한 무리의 프로그래머가 보편적인 알고리즘을 일반화하여 "패턴"이라고 불렀을 뿐입니다. 이 바보들이 책까지 출판했다고 상상해 보세요: ))))))! 사람들은 할 일이 없어졌어요!
 
C-4:
임무는 무엇이었나요? 무엇을 해야 했나요? 여러 클래스가 하나의 노드에서 어떻게 작동하는지 보여 달라고 하셨잖아요.
그랬죠. 물론 멋지죠. 하지만 알고 보니 그게 전부는 아니었습니다.
 
Integer:

나는 또한 다른 객체를 하나의 배열에 넣을 수 있었고, 여분의 것이 없기 때문에 더 명확하다는 점에 유의하십시오:

그래서 뭐? 아무것도 없습니다. 과부하가 작동하지 않으므로 유형을 등록한 다음 스위치를 통해 등록해야합니다. 그게 모든 기쁨입니다.

여분의 것이 없습니까? 클래스는 100% 중복됩니다. 모든 cl1 메서드와 데이터는 cl2 클래스에 의해 거의 완전히 복제되지만 베이스는 비어 있습니다.