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

  • HereWeStayKings

    HereWeStayKi

    3 NİSAN 2013
  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009
  • Megan Parken

    Megan Parken

    19 Temmuz 2009