c++

C++

Vikipedi, özgür ansiklopedi

 

C++ (Türkçe okunuşu: c artı artı, İngilizce okunuşu: c plus plus), 1980'lerin başlarında Bjarne Stroustrup tarafından geliştirilen C'yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir. İlk olarak C With Classes (Sınıflarla C) olarak adlandırılmış, 1983 yılında ismi C++[1] olarak değiştirilmiştir. C++ dili 1979'da ABD'de Bell Laboratuvarları'nda geliştirilmiştir.

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++ dilini öğrenmek ve daha fazla bilgi edinmek için bu maddenin Kaynaklar kısmına bakabilirsiniz.

Dil Yapısı

Operatörler

C++'ın C'den devraldığı ve onu geliştirdiği yapılardan biridir. Kısaca, özel olarak anlamlandırılmış fonksiyonlar kümesidir. Ancak bu fonksiyonlar, alışılageldik şekilde çağırılmaz, dilin semantik yapısı içerisinde özel olarak değerlendirilir. operatörler çoğunlukla iki nesnenin arasına özel bir işaret konulmasıyla çağırılır. Örneğin, iki nesnenin toplanması için iki nesnenin arasına '+' işareti konulması yeterlidir. Bu işaret, derleyiciye '+' operatör fonksiyonunun çağırılacağını ifade eder. C'den farklı olarak, C++'ta operatörlerin çoğunu aşırı yükleme yoluyla özelleştirebilirsiniz...

Önişlemci

C++ Program kaynak kodlarının derlenmesi üç aşamadan oluşur: Önişlemci, kodun dönüştürülmesi ve bağlama. İlk aşama olan önişlemciyi basit bir yorumlayıcı olarak görülebilir. Bu aşamada, bir takım direktifler yardımıyla derlenecek kodlarda basit sözcüksel değişiklikler yapılabilir.

Önişlemci direktifleri # karakteriyle başlar, bu karakterden sonrası önişlemci tarafından yorumlanır ve bu özel karakterden önce beyaz boşluk(tab ve boşluk) dışında bir şey olmaması gerekir. Bu direktifler yardımıyla derlenecek kodlar üzerinde bir takım kurallar belirlenebilir. Ayrıca dosyaya bir başka dosyayı dahil etmek veya işlemciye özel direktifler vermek gibi işlemler içinde kullanılabilir....

 

Örnekler

Merhaba Dünya 2

#include <iostream>
using namespace std;
 
int main ()
{
    cout << "Merhaba Dunya!" << endl;
    return 0;
}

Merhaba Dünya 3

Nesne yaklaşımlı merhaba dünya örneği:

#include <iostream>
using namespace std;
 
class Dunya
{
public:
    Dunya ()  { cout << "Merhaban"; }
    ~Dunya () { cout << "Güle gülen";}
};
 
int main ()
{
    Dunya(); //bu_bir_nesne;
}

İş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 & );

    Karmasik operator+ (Karmasik, 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
{
      case;
{
    cout << "reel = " << reel_ << 'n' << "sanal = " << sanal_
         << 'n';
}
   break;
}
int main()
{
    Karmasik ilk (1, 1), ikinci (5, 1.7), sonuc(1, 7);
    sonuc = ilk + ikinci;
    sonuc.Yazdir ();
    return 0;
}

Referanslar

  1. ^ ++ sonek operatör C programlama dilinde sayısal bir değişkenin değerini bir arttırmak anlamındadır.

Dış bağlantılar

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol