마운드에서 OOP에 대해 이야기하기 - 페이지 8

 
Maxim Dmitrievsky :

아마도이 코드를 거의 이해하지 못하기 때문일 것입니다. :)

죄송합니다, 아마추어 프로그래머 .. 기본 수준에서 OOP에만 익숙합니다.

그래서, 당신이 이해하지 못하는 유일한 사람이 아닙니다, 당신이 유일한 사람이 아닙니다... 이 스타일 - 인상적이지 않은 것을 매크로에 밀어 넣는 -에는 장점과 단점이 있습니다. 내가 아는 한 fxsaber 의 동료 는 장점(유연성, 크로스 플랫폼 등)만 보여줍니다. 그리고 디버거에서 그런 코드를 확인할 수 없다는 사실, 어떤가요? 글쎄요, 이 스타일의 가독성은 매우 의심스럽습니다. 그러나 그들이 말했듯이 주인은 주인입니다 ...

 
Комбинатор :
C++에서 클래스와 구조체는 동일하지만 일부 기본값만 다릅니다.

ug에 구조에 대한 포인터를 가져오는 방법은 무엇입니까?

 
Vasiliy Sokolov :

따라서 올바른 예에서 배워야 합니다. 그러나 그들은 SB에 존재하지 않습니다. 동일한 CObject 를 사용합니다. 유형 제어를 제공하지 않고 인터페이스 수준에서 개체에 대한 작업을 제공하지 않지만 실제로 재정의되지 않는 Save() 및 Load()와 같은 의미 없는 메서드가 포함되어 있습니다. m_prev 및 m_next 포인터는 단일 CList 클래스 에서 사용되지만 모든 하위 클래스에 대한 안정기로 존재합니다. 가장 유용한 것은 Comparer() 메서드입니다. 실제로 가장 자주 재정의됩니다. 그러나 좋은 방법으로 Comparer()는 인터페이스이므로 CObject가 아닌 별도의 클래스로 정의하는 것이 더 정확합니다.

제어에 대해 설명하십시오, 나는 이해하지 못했습니다. 어떤 물건으로? 일반적으로 필드와 메서드가 없는 더미 클래스여야 합니다. 유일한 목적은 다른 클래스에 공통 조상을 제공하는 것입니다. 개발자들이 거기에 쓰레기를 놓았다는 사실은 큰 착각이다.

그리고 거기에는 비교가 없어야 합니다. 이것은 더미 클래스여야 합니다.

 
Alexey Volchanskiy :

제어에 대해 설명하십시오, 나는 이해하지 못했습니다. 어떤 물건으로? 일반적으로 필드와 메서드가 없는 더미 클래스여야 합니다. 유일한 목적은 다른 클래스에 공통 조상을 제공하는 것입니다. 개발자들이 거기에 쓰레기를 놓았다는 사실은 큰 오산이다.

그리고 비교가 없어야 합니다. 이것은 더미 클래스여야 합니다.

이것은 SmallTalk가 아니며 모든 실행(및 이론도 마찬가지)은 아담에서 개체 트리를 파생시키는 것이 사악한 악이라는 것을 보여주었습니다. 또한 이것은 ST에 허용되며 자체 주스(가상 머신)에서 양조됩니다.

가열로 판단하면 3월 8일까지 try-catch-throw가 예상됩니까? :-) 물론, 휴일은 여성을위한 것이지만, 술을 마시지 않는 것은 죄가 될 것입니다.

 
Maxim Kuznetsov :

이것은 SmallTalk가 아니며 모든 실행(및 이론도 마찬가지)은 아담에서 개체 트리를 파생시키는 것이 사악한 악이라는 것을 보여주었습니다. 또한 이것은 ST에 허용되며 자체 주스(가상 머신)에서 양조됩니다.

가열로 판단하면 3월 8일까지 try-catch-throw가 예상됩니까? :-) 물론, 휴일은 여성을위한 것이지만, 술을 마시지 않는 것은 죄가 될 것입니다.


아니요, 휴일은 없을 것이라고 Renat는 말했습니다. 예외는 없습니다. 스레드 https://www.mql5.com/en/forum/168361 을 참조한 다음 누군가가 스레드를 맨 위로 올렸습니다. 나는 eksepsheny가 계획되어 있는지 또는 어떻게 하는지 궁금했습니다. 대답은, 슬프게도, 아니요였습니다.

그러나 blah, 중요한 jackdaw가 컴파일러에 나타났습니다 - 제수를 확인하십시오))))) 피펫. 3월 8일까지 "배열이 범위를 벗어났는지 확인..." 확인란을 기다리고 있고 비슷한 확인란이 있는 또 다른 25페이지를 기다리고 있습니다. 결국, 우리는 eksepsheny를 요리하는 방법을 모릅니다.

ZY: C#의 기본 클래스인 Object를 살펴보았지만 최소값이기도 합니다. msdn에서 가져온 사진


Почему в MQL5 нет исключений?
Почему в MQL5 нет исключений?
  • 2017.01.29
  • www.mql5.com
Не нужны, надо все условия руками проверять, по старинке оно надежнее Нужны, почему нет - не знаю А что это такое? Хочу посмотреть...
 
Dennis Kirichenko :

그래서, 당신이 이해하지 못하는 유일한 사람이 아닙니다, 당신이 유일한 사람이 아닙니다... 이 스타일 - 인상적이지 않은 것을 매크로에 밀어 넣는 -에는 장점과 단점이 있습니다. 내가 아는 한 fxsaber 의 동료 는 장점(유연성, 크로스 플랫폼 등)만 보여줍니다. 그리고 그런 코드를 Debugger에서 확인할 수 없다는 사실은 어떤가요? 글쎄요, 이 스타일의 가독성은 매우 의심스럽습니다. 그러나 그들이 말했듯이 주인은 주인입니다 ...

특정 예에 포함되지 않은 것을 왜 특정 예 에 귀속합니까?

막심 드미트리예프스키 :

같은 방식으로 프로그래밍하는 방법을 배울 수 있는 패턴은 무엇입니까? :) 아주 좋은 모습

독학해서 어디서도 본 적 없는. 나는 Tupolev 접근 방식을 가지고 있습니다 : "아름다운 비행기 만이 잘 날아갑니다!"

 
Maxim Kuznetsov :

이것은 SmallTalk가 아니며 모든 실행(및 이론도 마찬가지)은 아담에서 개체 트리를 파생시키는 것이 사악한 악이라는 것을 보여주었습니다. 또한 이것은 ST에 허용되며 자체 주스(가상 머신)에서 양조됩니다.

가열로 판단하면 3월 8일까지 try-catch-throw가 예상됩니까? :-) 물론, 휴일은 여성을위한 것이지만, 술을 마시지 않는 것은 죄가 될 것입니다.


빈 기본 클래스의 요점은 다음과 같이 작성할 수 있다는 것입니다. 나는 예제가 페이로드를 운반하지 않는다고 즉시 말하고 이동 중에 생각해 냈습니다. 요점은 파생 클래스 를 CObject*로 캐스팅할 수 있다는 것입니다.

CObject* objarr[ 12 ];

void OnStart ()
{
    objarr[ 0 ] = new CAccountInfo;
     // еще что-то подобное, кладем в массив указатели на объекты абсолютно разных классов, но с одним предков
    objarr[ 11 ] = new CDealInfo;
     // обращаемся и работаем
    CAccountInfo * ai = (CAccountInfo*)objarr[ 0 ];
     //
    
     for ( int n = 0 ; n < 12 ; n++)
         if ( CheckPointer (objarr[n]) == POINTER_DYNAMIC )
             delete objarr[n];
       
}

*

 
Alexey Volchanskiy :

ug에 구조에 대한 포인터를 가져오는 방법은 무엇입니까?

솔직히 질문을 이해하지 못했지만 어쨌든 수업과 동일
 
Комбинатор :
솔직히 질문을 이해하지 못했지만 어쨌든 수업과 동일

죄송합니다. 무슨 언어로 그런 결론을 내리는 겁니까? :-)



 
Комбинатор :
솔직히 질문을 이해하지 못했지만 어쨌든 수업과 동일

 class C {};
struct S {};

void OnStart ()
{
    C *_c = new C; // так можно
    S *_s = new S; // указатели на структуру не допускаются 
}