Serap Şen

Bilişim hakkında herşey…

C++ dersi 5-Sınıf(Class) Kullanımı

Merhaba Arkadaşlar;

C++ a kaldığımız yerden devam edelim.Bu yazımda sizlerde sınıf(class) yapısından bahsedeceğim.

C++’ta nesne yönelimine başlıyoruz.C++’ta yapacağımız nesneler,yapısal programlamanın bir parçası olarak yorumlanacaktır.

C’de ve diğer yordamsal programlama dillerinde programlama,olay yönelimli olmak eğilimindeyken C++’ta programlama ideal olarak nesne yönelimlidir.

C’de programlamanın yapıtaşı fonksiyondur.C++’ta ise nesnelerin yaratıldığı sınıflardır.Bir sınıfın veri bileşenlerine veri üyeleri,fonksiyon bileşenlerine ise üye fonksiyonlar adı verilir.int gibi doğal bir veri tipinin kopyasına değişken denirken,kullanıcı tanımlamalı tiplerin kopyaları da nesne olarak adlandırılır.

Veri üyeleri ve üye fonksiyonları olan tipler,C++’ta class anahtar kelimesi kullanılarak tanımlanır.

*public: ve private: etiketleri üye erişim belirteçleri olarak adlandırılırlar.public üye erişim beirtecinden sonra bildirilen herhangi bir üye fonksiyona veya veri üyesine,program zaman sınıfının br nesnesine eriştiği zaman erişilebilir.private üye erişim belirtecinden sonra bildirilen herhangi bir veri üyesine veya üye fonksiyona sadece o sınıfın üyeleri erişebilir.

*Sınıfla aynı isimde olan üye fonksiyona dikkat ediniz.Bu fonksiyona sınıfın yapıcı fonksiyonu(constructor) adı verilir.Bir yapıcı;sınıf nesnesinin veri üyelerine ilk değerleri atayan özel bir fonksiyondur.(Detaylarını ilerki konularımızda göreceğiz.)

Aşağıdaki kodu inceleyelim:

//class kullanımı

#include

using namespace std;

class zaman //class tanımlaması yapılıyor

{

public: //erişilebilir tanımlama

zaman(void);

void zamanAyarla(int,int,int); //saati,dakikayı,saniyeyi ayarla

void askeriYaz(); //askeri zaman biçiminde yazar

void standartYaz(); //standart zaman biçiminde yazar

private: //özel tanımlama

int saat;//0-23

int dakika;//0-59

int saniye;//0-59

}; //noktalı virgül kullanmayı unutmak hatadır!

//zaman yapıcısı her veri üyesine 0 değerini atar

//tüm zaman nesnelerinin tutarlı bir durumda başladığından emin olur

zaman::zaman(){saat=dakika=saniye=0;}

//yeni bir zaman değerini askeri zamanı kullanarak ayarlar

//veri değerlerinin tutarlılığını doğrular.geçersiz değerleri 0 yapar.

void zaman::zamanAyarla(int h,int m,int s)

{

saat=(h>=0 && h<24)? h : 0;

dakika=(m>=0 && m<60)? m : 0;

saniye=(s>=0 && s<60)? s: 0;

}

//askeri biçimde yazar

void zaman::askeriYaz()

{

cout<<(saat<10 ? “0″ : “”)<< saat<< “:”

<< (dakika<10 ? “0″ : “”)<< dakika;

}

//standart biçimde yazar

void zaman::standartYaz()

{

cout<<((saat==0 || saat==12) ? 12 : saat%12)

<<”:”<<(dakika<10 ? “0″ : “”)<<dakika

<<”:”<<(saniye<10 ? “0″ : “”)<< saniye

<<(saat<12?”AM”:”PM”);

}

//basit zaman sınıfını test eden ana program

int main()

{

zaman z;//zaman sınıfından z nesnesini oluşturur.

cout<<”zamanin ilk askeri degeri:”;

z.askeriYaz();

cout<<”nzamanin ilk standart degeri:”;

z.standartYaz();

z.zamanAyarla(13,27,6);

cout<<”nnzaman ayarladan sonra askeri zaman:”;

z.askeriYaz();

cout<<”nzaman ayarladan sonra standart zaman:”;

z.standartYaz();

z.zamanAyarla(99,99,99);//geçersiz deger vermeye çalışır

cout<<”nngecersiz degerler vermeye basladiktan sonra:”

<<”nnaskeri zaman:”;

z.askeriYaz();

cout<<”nstandart zaman:”;

z.standartYaz();

cout<<endl;

return 0;

}

Çıktısı:

zamanin ilk askeri degeri:00:00

zamanin ilk standart degeri:12:00:00 AM

zaman ayarladan sonra askeri zaman:13:27

zaman ayarladan sonra standart zaman:1:27:06 PM

gecersiz degerler vermeye calistiktan sonra:

askeri zaman:00:00

standart zaman:10:00:00 AM

Tags: , , , ,

11 Responses to “C++ dersi 5-Sınıf(Class) Kullanımı”

  • Anonymous diyor ki:

    >askeri değil asgari

  • Serap Şen diyor ki:

    >asgari değil askeri arkadaşım.Askeri zaman formatı demek istedim yani.(SS:DD şeklinde gösterime askeri format deniyor.)

  • Leon4rdo diyor ki:

    >:s php den çok çok çok zor :( off.Teşekkür ederim döküman için ama yinede başlangıç için yararlı oldu

  • Salih diyor ki:

    >paylaşımın için teşekkürler. fakat birkaç önerim olacak. bazı kavramları Türkçe'ye çevirirken, yanında ingilizce karşılığı da verilirse iyi olacağını düşünüyorum. çünkü ingilizce terimleri bilmeden, öğrenmeden yazılım geliştirmek pek mümkün değil bence. mesela, "yapıcı fonksiyon" yerine(veya yanında) "constructor" ifadesi de kullanılmalıdır diye düşünüyorum. ayrıca zamanAyarla fonksiyonunda geçersiz değerler geldiğinde sıfırlamak için bir kontrol koymuşsunuz. "<" ve ">" işaretlerinde bir hata veya terslik olabilir mi?

  • Serap Şen diyor ki:

    >Önerin için teşekkür ederim,gerekli düzeltmeleri yaptım.zamanAyarla fonksiyonunda sanırım bundan bahsediyorsunuz :saat=(h>=0 && h<24)? h : 0; dakika=(m>=0 && m<60)? m : 0; saniye=(s>=0 && s<60)? s: 0; işaretler doğrudur.

  • Plasebo diyor ki:

    >Paylaşım için teşekkürler

  • aysun hancı diyor ki:

    merhaba admin arama motorlarında bulamadığım içeriği burada buldum teşekkür ederim size sitenizi takip listeme aldım zaman zaman ziyaret edeceğim iyi çalışmalar.


Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Follow Me

Microsoft Imagine Cup 2012 Repharm Project

Makalelerimi takip edebilirsiniz…

Arşivlerim

Readmee E-dergimiz

Anketler

Web Sitemi Beğendin mi?

  • Kötü (24%, 35 Votes)
  • Fena değil (8%, 12 Votes)
  • İdare eder (10%, 15 Votes)
  • İyi (18%, 27 Votes)
  • Çok iyi (40%, 57 Votes)

Total Voters: 146

Loading ... Loading ...

Kaç Kişi Online?