SORU
1 AĞUSTOS 2012, ÇARŞAMBA


Dynamic_cast pratik kullanımı?

dynamic_cast operatörü ile ilgili çok basit bir sorum var. Bu, çalıştırma türü, yani, çalışma zamanında nesne türü hakkında bilmek tanımlama için kullanılır biliyorum. Ama programlama deneyiminden sonra, bu operatörü kullanmak zorunda olduğu gerçek bir senaryo verebilir misiniz? Bunu kullanmadan zorluklar nelerdi?

CEVAP
1 AĞUSTOS 2012, ÇARŞAMBA


Oyuncak örneği

Nuh'un gemisi hayvanlar farklı türleri için bir kapsayıcı olarak işlev olacaktır. Sandığın gibi değil endişe arasındaki fark hakkında maymunlar, penguenler ve sivrisinekler, tanımladığınız bir sınıf Animal, elde sınıfları Monkey, Penguin Mosquito ve mağaza her biri bir Animal ark.

Tufan bittikten sonra Nuh ait oldukları yerlere dünya çapında hayvanları dağıtmak istiyor ve bu nedenle genel hayvanlar ark onun içinde saklı hakkında ek bilgi ihtiyacı var. Olarak bir örnek, o şimdi denemek için dynamic_cast<> Her hayvan için bir Penguin sipariş için anlamaya olan hayvanlardır penguenler için yayımlanan Antarktika ve hangi değildir.

Gerçek hayat örneği

Bir olay, bir uygulama, bir liste içinde çalışma zamanı tarafından oluşturulan olayları saklamak istiyorsunuz çerçeve, izleme hayata geçirdik. Olay monitörler bu liste üzerinden gidin ve ilgileniyorlardı bu belirli olayları inceleyin. Olay türleri OS düzeyi SYSCALL, FUNCTIONCALL INTERRUPT gibi şeyler vardı.

Burada, Event örnekleri genel bir listede belirli olaylar biz saklı. İzler daha sonra bu liste üzerinde yineleme ve dynamic_cast<> olayları ilgileniyorlardı bu tür gördüler. Diğer (özel bir durum ortaya) göz ardı edilir.

SoruNeden her olay türü için ayrı bir liste olabilir mi?

Cevap: Yaparsın, ama bunu yapar uzanan bu sistem ile yeni olayların yanı sıra yeni izler (Okunma Sayısı birden fazla olay türleri) daha zor, çünkü herkesin ihtiyaçlarına dikkat ilgili listeleri kontrol edin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • HTC

    HTC

    12 Ocak 2006
  • William Hyde

    William Hyde

    23 HAZİRAN 2008