$1.99 Domains* at GoDaddy.com

C++ Sanal Fonksiyonlar

cders-143Taban sınıf ve türemiş sınıflarda aynı isimli fonksiyonlar varsa, çağırma çözünürlük operatörüyle yapılmamışsa, eğer taban sınıf nesnesi ya da göstericisine ilişkin bir çağırma söz konusuysa taban sınıfın fonksiyonu doğal olarak çağırılacaktır.

 

Sınıfın bir üye fonksiyonu sanal fonksiyon yapılabilir. Bir üye fonksiyonu sanal fonksiyonu yapabilmek için fonksiyon prototipinin önüne virtual anahtar sözcüğü getirilir. virtual anahtar sözcüğü sadece prototip bildirirken kullanılır, fonksiyon tanımlanırken kullanılmaz. Bir üye fonksiyon sanal yapılırsa o sınıfın türemiÅŸ sınıflarında bulunan aynı isimli , aynı prototipe sahip tüm fonksiyonlar da sanal olur. Yani virtual anahtar sözcüğü yazılmasa da yazılmış gibi iÅŸlem görür. Aynı prototipe sahip olması demek geri dönüş deÄŸerlerinin parametre yapılarının ve fonksiyon isimlerinin aynı olması demektir(const’luk dahil).

 

Türemiş sınıf nesnesinin adresi taban sınıf göstericisine atanır ve bu gösterici yoluyla sanal fonksiyon çağırılırsa adresi alınan nesne hangi sınıfa aitse o sınıfın sanal fonksiyonu çağırılır. Taban sınıfın türemiş sınıfa erişmesi ancak bu koşullarda mümkün olmaktadır. Bir dizi türetme yapıldığında türemiş sınıflardan birine ilişkin nesnenin adresi taban sınıflardan birine ilişkin göstericiye geçirilebilir ve bu gösterici yoluyla sanal fonksiyon çağırılabilir. Sınıf ismi belirtilerek sanal fonksiyon çağırılırsa sanallık özelliği kalmaz.

 

/*—–virtual.cpp—–*/

Kategoriler: C++ Programlama, Yazılım

Tags: , , ,

Yorumlar

Yorum Yok

Yorumunuzu Ekleyin

Yorum eklemek için giris yapmalısınız.