
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
Bir güvenlik açığı mı buldunuz? )
Polimorfizm kullanmak daha iyi olmaz mı?
Yaklaşık olarak:
Mesele şu ki, CChartObjectRectLabel, CChartObjectButton ve CChartObjectEdit mirasçı sınıflarının erişilmesi gereken kendi benzersiz yöntemleri vardır. Ve standart kütüphanedeki CChartObject temel sınıfı aynı sanal metotlara sahip değildir.
Yukarıdaki örneğimde...
yöntemlerine nasıl erişilir?
...bu şekilde ortaya çıkıyor:
Evet. Bu şekilde doğrudan döküm yapmak alışılmışın dışındadır. Artılarda özellikle bu amaç için dynamic_cast vardır, burada tamamen doğru bir şekilde döküm yapamazsınız ve potansiyel bir örtük ve ciddi hata kaynağıdır. Ve ciddiyetle, güvenli olmayan işaretçilerden ve referanslardan çok daha iyi değildir.
Evet, burada forumda bir soru sormadan önce, internette C++'ın dynamic_cast operatörüne ( dinamik veri tanımlama mekanizması) sahip olduğunu buldum.
Şimdi yukarıdaki bağlantıya bakıyorum:
Yani bu zorunlu bir koşul mu? Ve eğer temel sınıfta sanal metotlar yoksa, dynamic_cast çalışmayacak mı?
Not: >> Burada dynamic_cast hakkında daha fazla şey okuyorum (MSDN).
Kahretsin, ve bundan sonra dil güvenliğinden mi bahsediyorsun?
Muhtemelen C/C++'da olduğu gibi her şeye serbestçe döküm yapabileceğinizi düşünüyorsunuz.
Öyle değil ve güvenlikle ilgili yanlış bir şey yok.
Muhtemelen C/C++'da olduğu gibi herhangi bir şeye serbestçe döküm yapabileceğinizi düşünüyorsunuz.
Öyle değil ve güvenlikle ilgili yanlış bir şey yok.
Tesadüfen bu hatayı aldım, bu da sözlerinizi doğruluyor gibi görünüyor. )
Öyle değildir ve güvenlikle ilgili yanlış bir şey yoktur.
Hayır, dynamic_cast'i derleme zamanında kontrol etmek mümkün değildir.
Yukarıdaki yorum çalışma zamanında cast kontrolünün sonucunu göstermektedir.
Çok katıdır, RTTI mekanizması üzerinde çalışır, çünkü hayalet durumunda kimin kim olduğunu tam olarak biliriz.
Yukarıdaki yorum, rantime'daki döküm kontrolünün sonucunu göstermektedir.