Genelde programlama giriş yapan herkes “Merhaba Dünya” yazarak başlar, bizde biraz farklılık yapalım ve çalıştığında ekranda “Merhaba C++” yazan programı yapalım.
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)...
C için kullanılan derleyicilerden en çok bilinenleri: Qt: Birden çok platformu destekleyen bir grafiksel kullanıcı arayüzü geliştirme araç takımıdır. Genellikle GUI programları geliştirmek için kullanılsa da gelişmiş kütüphanesi GUI bileşenlerinin dışında birçok araç içermektedir. Qt, en çok KDE masaüstü ortamında, Opera ağ tarayıcısında ve Skype anında mesajlaşma programlarında kullanılması ile bilinir. Qt, C++ kullansa da, farklı dillere olan bağlantıları sayesinde Python, Ruby, PHP, Perl, Pascal, C# ve Java ile de kullanılabilir. Eclipse: Açık kaynak kodlu bir tümleşik geliştirme ortamıdır (IDE). Ana odak noktası Java ve Java ile ilişkili teknolojiler olsa da esnek yapısı sayesinde C ve Python gibi farklı diller için de kullanılmaktadır. Netbeans: NetBeans, Sun Microsystems tarafında...
C++’ da +,-,*,!,++ gibi operatörler fonksiyonlar yazılarak bu operatörlere yeni işlevler yüklenebilir. Fakat sadece C++’ da zaten var olan operatörlere aşırı yükleme yapılabilir. Örneğin üs(^) operatörüne aşırı yükleme yapılamaz. Fonksiyonlar tanımlanırken operatörün orjinalinde var olan operand sayısı değiştirilemez. Yani toplama için tek operand veremezsiniz yine en az 2 operand vermeniz gerekmektedir. Ayrıca öncelik sıralamalarında bir değişiklik olmaz yine aynı şekilde öncelikleri vardır. Aşağıdaki örnekte verilen kodlama ile + operatoru iki karmaşık sayıyı toplamak için aşırı yüklenmiştir.
Yorumlar
Yorum Gönder