C++'da Süper Anahtar Sözcüğe Nasıl Taklit Edilir?

C Da Super Anahtar Sozcuge Nasil Taklit Edilir



Bazı nesne tabanlı programlama dilleri, bir alt sınıfın temel veya üst sınıfın işlevlerini ve üyelerini çağırmasını sağlayan 'super' anahtar sözcüğüne sahiptir. Bazı programlama dilleri, 'super' anahtar sözcüğünün özel olarak nasıl kullanılması gerektiğini belirler. Ancak C++ söz konusu olduğunda, super anahtar sözcüğü Java ve Python'dakiyle aynı şekilde kullanılmaz. Bu öğreticide, süper anahtar sözcüklerin C++'da emülasyonunu inceleyeceğiz ve göstereceğiz.

C++'da Süper Anahtar Sözcüğe Nasıl Taklit Edilir?

'Süper' olarak bilinen anahtar kelime, C++ derleyicisinde önceden tanımlı değildir. Kalıtım ve işlev geçersiz kılma, üst sınıfının üyelerini ve yöntemlerini alan bir alt sınıf geliştirmek için kullanılır. Operatörle (::) erişmek istediğiniz üye veya yöntemin ve 'üst sınıfın' tanımlayıcısını sağlamanız yeterlidir.







Sözdizimi

Aşağıda gösterilen sözdizimini kullanarak, bir alt sınıfta “parent_function()” gibi bir ada sahip olan “parent_class” adlı bir üst sınıftaki bir yönteme erişebilirsiniz:



ebeveyn_sınıfı::ebeveyn_işlevi ( ) ;



Örnek

Bir üst sınıfın özelliklerine erişmek için süper anahtar sözcük işlevini öykünmek üzere C++ kullanarak kapsam çözümleme işlecini (::) kullanın.





Kapsam çözümleme operatörü (::), bir sınıf ondan miras aldığında, bir üst sınıfın üyelerini elde etmek için kullanılabilir. Örnek olarak aşağıdaki kodu göz önünde bulundurun:

#include
ad alanı std kullanarak;

sınıf base_Class {
halk:
geçersiz tabanFonksiyonu ( ) {
cout << 'Bu, temel sınıftan baseFunction'ın çıkışıdır' << son;
}
} ;
sınıf türetilen_Sınıf: genel temel_Sınıf {
halk:
geçersiz dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Bu, baseFunction'a temel sınıftan erişen türetilmiş bir sınıftır' << son;
}
} ;
int ana ( ) {
türetilmiş_Sınıf d;
d.dFonksiyon ( ) ;
geri dönmek 0 ;
}


Yukarıdaki program, temel veya üst sınıf baseFunction()'dan bir işleve sahip. dFunction() içindeki baseFunction() öğesine erişen başka bir türetilmiş sınıf tanımlanmıştır. Ana yöntem önce bir türetilmiş_sınıf örneği oluşturmak ve hem baseFunction() hem de dFunction()'ın çıktısını yazdıran dFunction()'ı çağırmaktır.



Çözüm

'Super' anahtar sözcüğü doğrudan C++'ta bulunmasa da, davranışı, kalıtım ve işlev geçersiz kılmaları birleştirilerek taklit edilebilir. Alt sınıfın uygulanmasına geçmeden önce üst sınıfın işlevlerini çağırarak üst sınıfın yöntemlerini veya üyelerini başarılı bir şekilde çağırabilir ve kullanabiliriz. Bu gönderi, daha iyi anlamanız için bir C++ kodu örneği de sağladı.