C++
Vikipedi, özgür ansiklopedi
C++ (okunuşu: si-plas-plas veya c-artı-artı), 1980'lerin başlarında Bjarne Stroustrup tarafından geliştirilen C'yi kapsayan ve nesne yönelimli programlamaya olanak sağlayan sınıf tanımlarıyla ilerleten, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir. Çoklu paradigma, nesne yönelimlidir. İlk olarak C With Classes olarak adlandırılmış, daha sonra C'deki herhangi bir sayısal değişkenin değerini bir arttırmaya yarayan ve özellikle döngü yapılarında çok sık kullanılan 'i++' ifadesine benzer biçimde C++ olarak adlandırılmıştır.
Genel olarak her C programı aynı zamanda bir C++ programıdır, ancak her C++ programı bir C programı değildir. Bu durumun bazı istisnaları mevcuttur. C++'ı C'den ayıran ve C++'ın nesne yönelimli bir dil olmasına da olanak sağlayan en temel özellik, sınıflardır. Sınıflar sayesinde yeni veri türleri yaratılabilir veya varolan türlerden yenileri türetilebilir. Ayrıca polimorfizm sayesinde bir sınıf tanımıyla yazılmış kod, o sınıf türünden türetilmiş yeni sınıflarla da çalışabilir.
C++ pek çok programlama dili kavramını kapsadığı için başlangıçta alışması zor bir dil gibi gelebilir. Tüm özelliklerini ve inceliklerini kavramak ve uzmanlaşmak ise çok uzun bir süreci gerektirir. Zorluğu görebilmek için aşağıdaki, C++ FAQ Lite'e bakabilirsiniz.
C++, operator overloading, default parameters, function overloading, single inheritance, polymorphism, multiple inheritance özelliklerine sahiptir. C++ dilinin standart kütüphanesi Standard Template Library (Standart Şablon Kütüphanesi)'dir.
Konu başlıkları |
[değiştir] Sınıflar
Class yapısı sayesinde yeni türler tanımlanabilir. Class genel olarak struct'a çok benzer. C++'ta tek farkı, ön tanımlı olarak erişim tipinin private olmasıdır. Yani C++ ile gelen class yapısı C'nin struct yapısının biraz daha gelişmişidir.
[değiştir] Derleyiciler ve IDE'ler
En yaygın kullanılan C++ derleyicileri şunlardır:
- GCC ( http://gcc.gnu.org )
- Microsoft Visual C++ (IDE)
- Borland C++ Builder (IDE)
- Watcom C++
- Dj C++
C++ programları yazmak için kullanabileceğiniz IDE'ler şunlardır:
Ayrıca CINT gibi çeşitli C++ yorumlayıcıları da bulunmaktadır.
[değiştir] Örnekler
[değiştir] Merhaba Dünya
#include <iostream> using namespace std; int main() { <<"m"<<endl <<"e"<<endl <<"r"<<endl <<"h"<<endl <<"a"<<endl <<"b"<<endl <<"a"<<endl <<" "<<endl <<"d"<<endl <<"u"<<endl <<"n"<<endl <<"y"<<endl <<"a"<<endl; return 0; } <<"y"<<endl <<"a"<<endl <<"s"<<endl <<"e"<<endl <<"r"<<endl
[değiştir] Merhaba Dünya 2
#include <iostream> using namespace std; // standart isim uzayını kullandığımızı belirtiyoruz. // böylelikle std:: önek'ini kullanmıyoruz int main() { cout << "Hello Earth!" << endl; }
[değiştir] Merhaba Dünya 3
Nesne yaklaşımlı merhaba dünya örneği:
#include <iostream> using std::cout; class Dunya { public: Dunya () { cout << "Merhaba\n"; } ~Dunya () { cout << "Güle güle\n";} }; int main () { Dunya bu_bir_nesne; }
[değiştir] İşleçleri Aşırı Yükleme (Operator Overloading)
#include <iostream> using namespace std; class Karmasik { public: Karmasik (double reel, double sanal = 1) : reel_ (reel), sanal_ (sanal) {} Karmasik& operator+= (Karmasik const & ); void Yazdir () const; private: double reel_, sanal_; }; Karmasik& Karmasik::operator+= (Karmasik const & diger) { reel_ += diger.reel_; sanal_ += diger.sanal_; return *this; } Karmasik operator+ (Karmasik birinci, Karmasik const & ikinci) { return birinci += ikinci; } void Karmasik::Yazdir () const { cout << "reel = " << reel_ << '\n' << "sanal = " << sanal_ << '\n'; } int main() { Karmasik ilk (1, 1), ikinci (5, 1.7), sonuc(1, 7); sonuc = ilk + ikinci; sonuc.Yazdir (); return 0; }
[değiştir] İç bağlantılar
- C++ İle Programlama -- Henüz geliştirilme aşamasında olan bir wiki kitap. Her türlü katkınız bekleniyor ..
[değiştir] Dış bağlantılar
- Standart C++'ı Yeni Bir Dil Olarak Öğrenmek -- Bjarne Stroustrup'un yazısının çevirisi
- CppReference.com (İngilizce)
- Cplusplus.com (İngilizce)
- parashift.com (İngilizce)