C++ Virtual nedir? Ne işe yarar?
Sanal fonksiyonları çok biçimli programlama tekniği (polymorphism) ile kullanılır. Bir sınıfın fonksiyonunun miras alan diğer sınıflar tarafından kullanılmasını sağlamak için virtual anahtar kelimesiyle tanımlarız. Bunun nedenini bir örnek ile açıklayalım. Diyelim ki bir kare sınıfımız var. Bu sınıf için alan hesaplayabiliriz, çizim yaptırabiliriz , çevre hesaplayabiliriz. Diğer bir sınıf olan üçgen ise kare’den miras alsın. Üçgen içinde aynı fonksiyonları kullanabiliriz.Bunu yapabilmemiz için kare sınıfımızdaki fonksiyonlarımızı virtual anahtar kelimesiyle deklare etmemiz gerekir yani prototiplerini virtual ön eki ile yazarız. Örnek ile olayı biraz somutlaştıralım. class dortgen { public: virtual int alan(int taban, int yukseklik){ return taban*yukseklik; } int cevre(int taban, int yukseklik){ return 2*(taban+yukseklik); } }; class ucgen : public dortgen { public: int alan(int taban, int yukseklik){ return (taban*yukseklik)...
Yorumlar
Yorum Gönder