C++ Dilinde Class Yapısı

Sınıf yapısı ile birlikte OOP (object oriented programming) yani nesneye dayalı programlamaya başladık arkadaşlar.

Bu yapı struct (yapı) ile oldukça benzerdir ve kullanımı aynıdır. struct ile class arasındaki fark:

“Sınıfların referans türünde, yapıların ise değer türünden olmasıdır. Bundan dolayı yapılar stack (yığın) alanı üzerinde, sınıflar ise heap (öbek) alanı üzerinde tutulurlar. Sınıflara referans aracılığıyla ulaşılırken yığınlara ise doğrudan ulaşabiliriz. Bu nedenle yapı kullanımı sınıf kullanımına göre daha az maliyetlidir ve erişim hızı yüksektir.”

Şimdi gelelim aşağıdaki örneğimize. Burada bir daire sınıfı tanımladık ve elemanlarını public yaptık (yani dışarıdan erişilebilir). Sınıfın dışında bir hesap fonksiyonu oluşturduk ve main() fonksiyonunun içine çevre ve alanı yazdırdık. Bunu daire tipinde bir nesne oluşturarak ve hesap() fonksiyonu ile gerçekleştirdik.

#include <iostream>
#include <conio.h>
using namespace std;
class daire
{ 
 public:
 float cevre,alan;
 int hesap();
};

int daire::hesap()
{
 int yaricap;
 cout<<"Yaricapi giriniz:"<<endl;
 cin>>yaricap;
 cevre=2*3.14*yaricap;
 alan=3*yaricap^2;
 cout<<"Cevre:"<<cevre<<endl<<"Alan:"<<alan<<endl;
 return 0;
}
int main()
{
 daire nesne;
 cout<<nesne.hesap();
 getch();
}