SORU
11 Ocak 2012, ÇARŞAMBA


&Quot;son" fonksiyonları C 11 kelime anlamı nedir?

İşlevler için C 11 final anahtar amacı nedir? Ben işlevi türetilmiş sınıflar tarafından etkisiz engeller anlıyorum, ama eğer durum buysa, o zaman sanal olmayan final fonksiyonları olarak ilan etmek için yeterli değil mi? Kaçırdığım başka bir şey var mı?

CEVAP
11 Ocak 2012, ÇARŞAMBA


  • Devralınan bir sınıf önlemek için. Wikipedia:

    C 11 de sınıfları devralmasını veya basitçe türetilmiş sınıflar geçersiz kılma yöntemleri engelleme önlemek için yeteneği ekler. Bu özel bir tanımlayıcı ile final yapılır. Örneğin:

    struct Base1 final { };
    
    struct Derived1 : Base1 { }; // ill-formed because the class Base1 
                                 // has been marked final
    
  • Ayrıca türetilmiş sınıfları geçersiz önlemek için sanal bir fonksiyonu işaretlemek için kullanılır:

    struct Base2 {
        virtual void f() final;
    };
    
    struct Derived2 : Base2 {
        void f(); // ill-formed because the virtual function Base2::f has 
                  // been marked final
    };
    

Wikipedia daha fazla an interesting point yapar:

Ne override ne final Dil anahtar olduğunu unutmayın. Teknik olarak tanımlayıcıları;onlar yalnızca belirli bağlamlarda kullanıldığında özel bir anlam kazanır.Başka bir yeri, geçerli bir tanımlayıcı olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kidrauhl

    kidrauhl

    15 Ocak 2007
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009