C++ ta CLASSLAR
CLASSLAR
C++ ‘ta classlara baktığımızda C ‘deki structlara benzer olduğunu görüyoruz.C’de birden fazla veri türünü bir arada kullanmak istediğimizde structları kullanıyorduk.Aynı şeyin C++ için de gecerli olduğunu söyleyebiliriz ama onun yerine daha geniş içerikli veri tipleri olan classlar kullanılmaktadır.Structla yaratılan bir değişkene ait alanlara program içerisinde her yerden erişilebilir.Ancak classın herhangi bir elemanı fonksiyon içinde değilse hiçbir üye veriye erişilemez.Bu da classı structan ayıran en önemli özelliktir.
Aynı işlem için class ve struct tanımlamalarına bakacak olursak;
struct Sporcu {
int yas;
float boy;
float kilo;
char isim[10];
};
class Sporcu{
public:
int yas;
float boy;
float kilo;
char isim[10];
void isimgoster();
void yasgoster();
void boygoster();
void kilogoster();
};
Class tanımlamasında structan farklı olarak “ public:” belirtecini ve üye fonkiyonları görüyoruz.Classın tanımı içerisinde yer alan fonksiyonlara üye fonksiyonlar,verilere ise üye veriler adı verilir.
Buradaki Sporcu sınıfı bu sınıftan yaratılacak olan nesneler için bi model görevi görmektedir.Aslında burada yapılan bir veri int,double veya char gibi bir veri tipi oluşturmak.Bu veri tipini ve bu veri tipiyle yapılacak işlemleri de biz belirliyoruz.
Bir classa ait fonksiyonun tanımlamasını yaparken döndüriüen veri tipi class adı::fonksiyon adı() şeklinde yapıyoruz. Burada üye fonksiyoları tanımlıyoruz:
void Sporcu::isimgoster(){
cout<<"Sporcunun Adi:"<<isim<<endl;
}
void Sporcu::yasgoster(){
cout<<"Sporcunun Yasi:"<<yas<<endl;
}
void Sporcu::boygoster(){
cout<<"Sporcunun Boyu:"<<boy<<endl;
}
void Sporcu::kilogoster(){
cout<<"Sporcunun Kilosu:"<<kilo<<endl;
}
Programımız main fonksiyonu ile başlıyor ve gmz adında sporcu tipinde bir değişken oluşturuyoruz.Daha sonra da klavyeden girilen bilgiyi isim, yaş, boy ve kilo adlı üye değişkenlerimize aktarıyoruz.
void main(){
Sporcu gmz;
cout<<"Sporcunun adini girin:"<<endl;
cin>>gmz.isim;
cout<<"Sporcunun yasini girin:"<<endl;
cin>>gmz.yas;
cout<<"Sporcunun boyunu girin:"<<endl;
cin>>gmz.boy;
cout<<"Sporcunun kilosunu girin:"<<endl;
cin>>gmz.kilo;
gmz.isimgoster();
gmz.yasgoster();
gmz.boygoster();
gmz.kilogoster();
}
En son işlem olarak ta ekrana sporcuların bilgilerini yazdırıyoruz.Bunun için gmz adlı nesnemizin üye fonksiyonlarını çağırdık.Nesneye ait üye fonksiyonları çağırırken nesne.fonksiyon adı() şeklinde yazıyoruz.Bu üye veriler için de geçerli.
Programımıza bir bütün olarak bakarsak;
#include<iostream>
using namespace std;
class Sporcu{
public:
int yas;
float boy;
float kilo;
char isim[10];
void isimgoster();
void yasgoster();
void boygoster();
void kilogoster();
};
void Sporcu::isimgoster(){
cout<<"Sporcunun Adi:"<<isim<<endl;
}
void Sporcu::yasgoster(){
cout<<"Sporcunun Yasi:"<<yas<<endl;
}
void Sporcu::boygoster(){
cout<<"Sporcunun Boyu:"<<boy<<endl;
}
void Sporcu::kilogoster(){
cout<<"Sporcunun Kilosu:"<<kilo<<endl;
}
void main(){
Sporcu gmz;
cout<<"Sporcunun adini girin:"<<endl;
cin>>gmz.isim;
cout<<"Sporcunun yasini girin:"<<endl;
cin>>gmz.yas;
cout<<"Sporcunun boyunu girin:"<<endl;
cin>>gmz.boy;
cout<<"Sporcunun kilosunu girin:"<<endl;
cin>>gmz.kilo;
gmz.isimgoster();
gmz.yasgoster();
gmz.boygoster();
gmz.kilogoster();
}