&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
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
nefinal
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.
Objective-C's "örneğin,"...
&Quot;devam" anahtar kelime nedir...
&Quot arasındaki fark nedir;kelime-bre...
C "sanal" türetilmiş sınıf f...
&Quot anlamı nedir;... ..." token...