Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
böyle başka bir soru, işte Wiki makalesi Soyut sınıf
C++ örneğiyle ilgileniyor
Programın sonucu:
Program:
CB sınıfının bu nesnesi; çağrı fonksiyonu cb.abstr(); cb.fun() işlevini çağırın.
CC sınıfının bu nesnesi; çağrı işlevi cc.abstr(); cc.fun() işlevini çağırın.
.
.
void fun ( void ) yöntemiyle ilgileniyor :
- neden sanal belirteç yok?
- sanal eklerseniz, gelecekte ne değişecek?
neden ve ne için, işte kod:
2020.05.28 14:41:20.294 tst (EURUSD,H1) geçersiz B::Görev()
2020.05.28 14:41:20.298 tst (EURUSD,H1) geçersiz B::Görev()
2020.05.28 14:41:20.298 tst (EURUSD,H1) void A::HighPriorityTask()
2020.05.28 14:41:20.298 tst (EURUSD,H1) void A::HighPriorityTask()
istediğim gibi çalışıyor - bir temel sınıf var ve ondan miras alıyorum, ancak mirasçılarda yalnızca bir yönteme ihtiyaç duyulacak ve bildirim ve başlatma sırasına bakılmaksızın önce HighPriorityTask'a sahip nesneleri çağırmak istiyorum ( ) yöntemi ve ardından Görev ()
ve tabii ki hepsi bir döngüde
basit yollarla mümkün mü?
ve tabii ki hepsi bir döngüde
basit yollarla mümkün mü?
Ve bunun neden bir döngüde yapılması gerekiyor?
Ve neden aynı zamanda doğal?
Doğal olarak, en az iki döngü olacaktır.
Ve bunun neden bir döngüde yapılması gerekiyor?
Ve neden aynı zamanda doğal?
Doğal olarak, en az iki döngü olacaktır.
Tamam, 2 döngü, yani 2 döngü, yani mucize olmayacak ((
Tamam, 2 döngü, yani 2 döngü, yani mucize olmayacak ((
Döngülerden tamamen kurtulmayı deneyebilirsiniz.
Döngü ve özyineleme olmadan 1'den 100'e nasıl yazdırılacağına dair örnekler vardır.
Belki bu örnekler yardımcı olabilir, tabii ki bu genellikle sorunun konusuysa))
böyle başka bir soru, işte Wiki makalesi Soyut sınıf
C++ örneğiyle ilgileniyor
Programın sonucu:
Program:
CB sınıfının bu nesnesi; çağrı fonksiyonu cb.abstr(); cb.fun() işlevini çağırın.
CC sınıfının bu nesnesi; çağrı işlevi cc.abstr(); cc.fun() işlevini çağırın.
.
.
void fun ( void ) yöntemiyle ilgileniyor :
- neden sanal belirteç yok?
- sanal eklerseniz, gelecekte ne değişecek?
neden ve ne için, işte kod:
2020.05.28 14:41:20.294 tst (EURUSD,H1) geçersiz B::Görev()
2020.05.28 14:41:20.298 tst (EURUSD,H1) geçersiz B::Görev()
2020.05.28 14:41:20.298 tst (EURUSD,H1) void A::HighPriorityTask()
2020.05.28 14:41:20.298 tst (EURUSD,H1) void A::HighPriorityTask()
istediğim gibi çalışıyor - bir temel sınıf var ve ondan miras alıyorum, ancak mirasçılarda yalnızca bir yönteme ihtiyaç duyulacak ve bildirim ve başlatma sırasına bakılmaksızın önce HighPriorityTask'a sahip nesneleri çağırmak istiyorum ( ) yöntemi ve ardından Görev ()
ve tabii ki hepsi bir döngüde
basit yollarla mümkün mü?
1. Bir temel sınıf işaretçisi bildirir ve bir alt nesne oluşturursanız, bu aynı temel sınıf işaretçisi aracılığıyla yöntemleri çağırırken:
a) sanal yöntemler bir alt sınıf tarafından çağrılır (bunun için özel olarak oluşturulmuş bir sanal işlevler tablosu aracılığıyla)
b) sanal olmayan yöntemler temel sınıf tarafından çağrılır. Alt sınıfta geçersiz kılınmış olsalar bile.
2. Bir döngüde hemen istiyorsanız, o zaman
a) bir dizi nesneyi türe göre sıralama zahmetine girmeyin.
b) belirli görevler için - bu görevleri gerçekleştiren nesnelere ayrı bir dizi işaretçi tutun. Onlar. HighPriorityTask'ı çağırması gereken tüm nesneler
first adlı ayrı bir dizide saklanmalıdır
ps ancak teorik olarak sıralama yapmadan nasıl hayal edebilirsiniz - döngünün bir geçişinde, nesnelerin önce hangi yarısına sahip olur ve sonra geri kalanı yürütülür? gülümseme Eh, sadece çit için görev sıraları varsa.
Ama bu zaten yaratıcı bir soru - bir kuruş problemini çözmek için birçok karmaşık yol bulabilirsin)) asıl mesele fizik yasalarına tecavüz etmemek ve her şey yoluna girecek)))
2. Bir döngüde hemen istiyorsanız, o zaman
a) bir dizi nesneyi türe göre sıralama zahmetine girmeyin.
b) belirli görevler için - bu görevleri gerçekleştiren nesnelere ayrı bir dizi işaretçi tutun. Onlar. HighPriorityTask'ı çağırması gereken tüm nesneler
first adlı ayrı bir dizide saklanmalıdır
ps ama teorik olarak sıralama yapmadan nasıl hayal edebilirsiniz - döngünün bir geçişinde, önce nesnelerin hangi yarısına sahip olacak ve sonra geri kalanı yürütülecek? gülümse Eh, sadece çit için görev sıraları varsa.
Ama bu zaten yaratıcı bir soru - bir kuruş problemini çözmek için birçok karmaşık yol bulabilirsin)) asıl mesele fizik yasalarına tecavüz etmemek ve her şey yoluna girecek)))
Kesinlikle istemiyorum, bence derleyici boş yöntemleri optimize ediyor
1. Bir temel sınıf işaretçisi bildirir ve bir alt nesne oluşturursanız, bu aynı temel sınıf işaretçisi aracılığıyla yöntemleri çağırırken:
a) sanal yöntemler bir alt sınıf tarafından çağrılır (bunun için özel olarak oluşturulmuş bir sanal işlevler tablosu aracılığıyla)
b) sanal olmayan yöntemler temel sınıf tarafından çağrılır. Alt sınıfta geçersiz kılınmış olsalar bile.
evet, nedense json kitaplığına hükmettiğimi hatırlamıyordum https://www.mql5.com/en/code/11134 (github'da bir yerde KB'den biraz daha taze buldum)
derleyici uyarıları vardı
kullanımdan kaldırılan davranış, gizli yöntem çağrısı gelecekteki bir MQL derleyici sürümünde devre dışı bırakılacak
sınıfta bir yöntem belirterek tedavi
this .JSONValue:: getLong(getValue(index),out);
teşekkür ederim, genel olarak net resim
Kesinlikle istemiyorum, bence derleyici boş yöntemleri optimize ediyor
sanal? bir gerçek değildir. ancak boş bir işlevi çağırmak zaten pek bir şey yemez.
Tamam, 2 döngü, sonra 2 döngü, o zaman mucize olmayacak ((
Mantıksal olarak iki döngüde yapılan şeyi neden bir döngüde itelim? sonuçta, hız veya netlik veya basitlik açısından bir kazanç yoktur ve sabit sürücülerin boyutları uzun süre megabayt cinsinden ölçülmez.
Mantıksal olarak iki döngüde yapılan şeyi neden bir döngüde itelim? sonuçta, hız veya netlik veya basitlik açısından bir kazanç yoktur ve sabit sürücülerin boyutları uzun süre megabayt cinsinden ölçülmez.
Ve henüz hiçbir şeyi çarpmadım! ))))
normal yöntem çağrılarına benzer bir şey yapmanın özelliklerini öğrenene kadar
teşekkürler güzel anlatılmış
sanal? bir gerçek değildir.
Örneğin, soru ya geniş birpolimorfizm aracı seçiminden ortaya çıkar, sonra onsuz sanal olur, sonra miras alırız, sonra bu yöntemi türetilmiş sınıflarda kapatırız
Döngülerden tamamen kurtulmayı deneyebilirsiniz.
Burada 1'den 100'e döngü ve özyineleme olmadan nasıl yazdırılacağına dair örnekler var.
Belki bu örnekler yardımcı olabilir, tabii ki bu genellikle sorunun konusuysa))
Ve ne? Başka bir yama. Bu, kalıpların taraftarlarının onu tanımadığı bir şey, görünüşe göre Ortodoks değil, kanonik değil. Neden özyineleme değil? Ayrıca bir özyineleme, yalnızca birlikte değil, çapraz.