public etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
public etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

13 Kasım 2014 Perşembe

C++ ta Class

KURUCU VE YOK EDİCİ FONKSİYONLAR


Kurucu fonksiyon ait olduğu sınıf  ile aynı ismi taşır. Bu fonksiyon herhangi bir değer döndürmez.
Bunun anlamı, kurucu fonksiyon return sözcüğü içermez.
Program içinde testSinif isimli bir sınıfımızın var olduğunu varsayalım. Bu sınıf, sınıf adı ile aynı ismi içeren bir kurucu ve bir yok edici fonksiyona sahiptir.
Kurucu fonksiyonlara, diğer fonksiyonlarda olduğu gibi parametre geçirmek mümkündür. Bu parametreler genellikle bir nesne oluşturulduğunda, onu ilk kullanıma hazırlamak amacıyla kullanabiliriz. Bir kurucuya her zaman sadece bir parametre geçirilmez, birden fazla da parametre geçirilebilir. Birden fazla parametre geçirilmesinde de aynı yol izlenir. örnek verecek olursak;

#include <iostream>
using namespace std;
// Sınıf tanımlanıyor
class testSinif
{
int a,b,c;
public:
testSinif(int sayi1, int sayi2, int sayi3);
~testSinif();
void goruntule();
};
// Kurucu fonksiyon
testSinif::testSinif(int sayi1, int sayi2, int sayi3)
{
a=sayi1;
b=sayi2;
c=sayi3;
}
// Yok edici fonksiyon
testSinif::~testSinif()
{
}
void testSinif::goruntule()
{
cout << a << "\n";
cout << b << "\n";
cout << c << "\n";
}
int main()
{
// Kurucuya parametre gönderme işlemi
testSinif ts(25,30,45);
ts.goruntule();
}

C++ ta Class

          CLASS


C++'da gerçek nesnelerin yaratılması işlemi class ile olur. 
 Sınıf nesneler, yaratmak için kullanılan yöntemdir. Class ile şu şekilde bildirim yapılır; 
class sınıf_adı
{
private:
private veri ve fonksiyonlar; 
public:
public veri ve fonksiyonlar;
protected:
protected veri ve fonksiyonlar; 
}nesne listesi; 

programın diğer bölümleri tarafından erişilebilir hale getirmek  söz konusu ise, public anahtar kelimesi mutlaka belirtilmelidir. 
Herhangi bir tanım yapılmaz ise, sınıf içinde belirtilen tüm  bölgelerin özel bölge olduğu, yani private kabul edildiği varsayılır. 
Bu durumda söz konusu bu bölgelerin tümüyle sınıfın üyesi bir fonksiyon tarafından kullanılabileceği anlaşılır. 
Bir sınıf nesnesi yoluyla dışarıdan nokta operatörünü kullanarak sınıfın yalnızca public bölümünde bildirilen veri  elemanlarına veya fonksiyonlarına erişilebilir. 
Private veya protected bölümlerine erişilemez. 

#include <iostream>
using namespace std;
const float PI = 3.14159; 

class Kure
{
public:
float r;
float x, y, z;

float hacim()
{
return (r*r*r*4*PI / 3);
}

float alan()
{
return (r * r * 4 * PI);
}

}k;
int main()
{
k.r=1.0;
k.x=2.0;
k.y=3.0;
k.z=4.0;
cout << "X = " << k.x 
<< ", Y = " << k.y
<< ", Z = " << k.z 
<< ", R = " << k.r << "\n"
<< "Alan =" << k.alan() << "\n"
<< "Hacim=" << k.hacim() << "\n";

}