OOP. Başvuru soruları - sayfa 9

 

Ama gerçekten bunu yapmana gerek yok...

İşlev sanallaştırmasını kullanın

Not Evet ve normal bir program oluşturmak için örtük tip döküm yardımı ile çalışmayacaktır. Bu sadece bir çeşitleme... GoTo gibi... ifadesi.

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
AlexSTAL :
2) Asıl mesele program bitmeden silinmektir... ama bu pointer'ı bir fonksiyonda oluşturduysanız, global bir yere kaydetmeye özen göstermeniz gerekir...


Ben de öyle düşündüm, dizi küresel görünüyor ama bir sızıntı var. Yoksa gerekli bir dizi değil de başka bir şey mi var?

 
gerçekten senden çıldırıyorum)))
 
Interesting :

Ben de öyle düşündüm, dizi küresel görünüyor ama bir sızıntı var. Yoksa mevcut bir diziye ihtiyaç yok mu, başka bir şey mi var?

Başka bir yerde sızıntı olabilir...

Bu şekilde yüzlerce sınıf oluşturdum ve hiçbir yerde sızıntı olmadı....

Basit bir örnek deneyin...

 
TheXpert :
gerçekten sana çıldırıyorum)))
Bazen yararlıdır... Vücudun gergin bir şekilde sarsılması...
 
AlexSTAL :

Başka bir yerde sızıntı olabilir...

Bu şekilde yüzlerce sınıf oluşturdum ve hiçbir yerde sızıntı olmadı....

Basit bir örnek deneyin...

Bu kodu uzmanın kaldırma bloğuna koyarak ondan kurtulmuş gibiyim (şimdiye kadar herhangi bir sorun yok)

   for ( int i= 0 ; i< ArraySize (ArrShapes);i++)  
  {
  ArrShapes[i].Free(ArrShapes[i]);
  }
 

Sonuç olarak, bu çok anlaşılmaz çıktı.

Tek kelimeyle Mucize Yudo... :)

Dosyalar:
Forum-2.mq5  11 kb
 

Genel olarak https://www.mql5.com/ru/forum/3566/page6#comment_58280 sorunun tartışılmasının ardından Yönetim Kurulu'na talep gönderdim.

 
Yedelkin :

Genel olarak https://www.mql5.com/ru/forum/3566/page6#comment_58280 sorunun tartışılmasının ardından Yönetim Kurulu'na talep gönderdim.

1. Bilmiyorum, bilmiyorum.

Bana öyle geliyor ki, geliştiriciler güvenlik uğruna işlevsellikten ödün vererek belirli adımlar atmayacaklar (bir yandan bu doğru).

Alexander ( AlexSTAL ) tarafından önerilen yöntem muhtemelen sorunu çözecektir (belirli sorunlu doğasını dikkate almayacağız).

Ancak bunu yaparak, en iyi ihtimalle, torunların olaylarına ve yöntemlerine erişim kazanacağız (bu durumda, atada bildirilmeyen özellikler, değişkenler ve benzeri şeylerin kullanılması olası değildir).

Her ne kadar burada büyük olasılıkla denemeniz gerekecek.


2. Şu anda sahip olduklarımıza dayanarak, bunu farklı şekilde yapabilirsiniz, 2 seçenek görüyorum:

a. Yalnızca bir sınıftaki nesneleri (belirli bir türün torunları) yerleştirmek için özel diziler kullanın;

Bu durumda, mümkünse dizide yer alan nesnelerin herhangi bir özelliğine, yöntemine ve olayına (homojen oldukları için) erişim mümkün olacaktır;

b. Bir temel sınıfın soyundan gelen bir dizi heterojen nesneyle çalışmanız gerekiyorsa, her bir soyun türünü depolamak için ek diziler oluşturmanız gerekecektir.

Böylece, ana dizide, yalnızca tüm nesneler için ortak olan işlevselliğe (AUTOGEN ve SLAMMER olmadan) ve özel diziler düzeyinde, her tür soyundan gelenin tam özelliklerine erişim elde edeceğiz.

anladığım kadarıyla, birden çoğa ve çoktan çoğa ilişki yöntemiyle, birkaç tablodan oluşan bir veritabanı gibi bir şey ortaya çıkacak. Bu senaryoda, gerçek, her şeyin doğru senkronizasyonu sorunu olacaktır. Ek olarak, doğaçlama bir veritabanının tüm dizilerinin (tablolarının) neye bağlı olacağına karar vermeniz gerekecektir.

Bağlama, bazı benzersiz tanımlayıcılar temelinde, örneğin işaretçiler veya özel tutamaçlar (hindilerde kullanılanlara benzer) temelinde yapılabilir.

not

Bu arada, bence, kulplu fikir oldukça iyi (nesnelerle yapılan tüm çalışmalarda işaretçiler temel alınsa bile). Fikir tutamaçları, kendi türünden veya tüm nesneler listesinden benzersiz bir nesne seçmenize izin vermelidir.

 
TheXpert :
gerçekten senden çıldırıyorum)))
Bazen kendim çıldırıyorum, bazen iyi oluyor. :)
Neden: