C++ Class Örnekleri

C++ programlama dilinde nesneleri tanımlamak için kullanılan sınıf veya class yapısı olarak adlandırılan yapıların oluşturulması ve kullanımı ile ilgili örnek yer alıyor.

Class yapısı

C++ dilinin C dilinden en büyük farkı Nesne Yönelimli Programlama yapmaya imkan vermesidir.

NYP tabanlı programlamada yazılımların daha anlaşılır olması için her şeyin bir nesne olduğu düşünülür.

NYP tabanlı programlama kalıtım, kapsülleme, çok biçimlilik, veri soyutlama gibi çeşitli özelliklere sahip olduğundan geliştirmeyi kolay ve güvenli hale getirir.

Aşağıda Kisi adında bir sınıf oluşturulmuştur.

#include <iostream>

using namespace std;

class Kisi {
public:
  string adi;
  string soyadi;
};

int main() {
  Kisi k1;
  k1.adi = "Yusuf";
  k1.soyadi = "SEZER";

  cout << "k1 adi: " << k1.adi << endl;
  cout << "k1 soyadi: " << k1.soyadi << endl;
  return 0;
}

Aşağıdaki örnekte class yapısında yer alan özellik, metot, kurucu metot, yıkıcı metot, erişim belirleyici, this anahtar kelimesi, sınıf sabiti ve pointeri kullanımını içeren örnek yer almaktadır.

#include <iostream>

using namespace std;

class Kisi {
private:
  string adi;
protected:
  string soyadi;
public:
  static int nesneSayisi;
  Kisi(string a, string s) {
    cout << "Nesne olusturuluyor." << endl;
    this->adi = a;
    (*this).soyadi = s;
    Kisi::nesneSayisi++;
  }
  string yazdir() {
    return this->adi + " " + this->soyadi;
  }
  ~Kisi() {
    cout << "Nesne siliniyor." << endl;
  }
};

int Kisi::nesneSayisi = 0;

int main(){
  Kisi *p;
  Kisi k1("Yusuf", "SEZER");
  Kisi k2("Sinan", "SEZER");

  p = &k2;

  cout << k1.yazdir() << endl;
  cout << p->yazdir() << endl;

  cout << "Kopya sayisi : " << Kisi::nesneSayisi << endl;

  return 0;
}

NYP ile geliştirmede kullanılan en önemli özellik kalıtımdır.

Kalıtım daha önceden oluşturulan sınıflara ait özellik ve metotların bir sınıfa aktarılmasıdır.

Aşağıdaki örnekte daha önceden oluşturulan Kisi sınıfında kalıtım alınmıştır.

class Ogrenci : public Kisi {
public:
  string okul;
  Ogrenci(string a, string s, string o):Kisi(a, s), okul(o) {};
};

NYP ile kullanılan bir diğer özellik ise çok biçimliliktir.

Çok biçimlilik temel olarak taban sınıfın referansıyla türetilen sınıfa erişmektir.

Aşağıdaki çok biçimliliğin kullanımı ile ilgili örnek yer almaktadır.

Kisi *p;
Ogrenci o1("Rabia", "SEZER", "ABC");
p = &o1;

cout << p->yazdir() << endl;

Nesne Yönelimli Programlama geliştirmeyi herhangi bir NYP tabanlı programlama dilinde öğrenmek diğer NYP tabanlı programlama dillerini öğrenmeyi kolaylaştıracaktır.

NYP tabanlı geliştirme Nesne Tabanlı Analiz, Nesne Tabanlı Tasarım ve Tasarım Desenleri gibi geniş Yazılım Mühendisliği alanına sahip olduğundan iyi öğrenilmesi faydalı olacaktır.

Programlama örneklerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!