Merhabalar;
Örneğimizi gün/ay/yıl ile oluşturacağımız bir Date class'ı üzerinden yapacağız. Öncelikle bir header dosyası oluşturmamız gerek. Sonra bu header'ı kullanacağız.
Örneğimizi gün/ay/yıl ile oluşturacağımız bir Date class'ı üzerinden yapacağız. Öncelikle bir header dosyası oluşturmamız gerek. Sonra bu header'ı kullanacağız.
//
Date.h
//
Date Class'ı Tanımı
class Date
{
public:
Date(int, int, int); // constructor
void setMonth(int); // ayı ayarla
int getMonth(); // ayı döndür
void setDay(int); // günü ayarla
int getDay(); // günü döndür
void setYear(int); // yılı ayarla
int getYear(); // yılı döndür
void displayDate(); // tarihi mm/dd/yyyy formatında yaz
private:
int month; // tarihin ayı
int day; // tarihin günü
int year; // tarihin günü
}; // Date
class'ı bitişi
Public üyelere erişim her yerden olabiliyorken private üyelere erişim sadece ilgili class içindeki public üye fonksiyonlarımızda olabilmektedir.
Date.cpp'de de public tanımladığım üye fonksiyonları ve private tanmladığım üye değişkenlerin ayarlamalarını yapıyorum:
//
Date.cpp
//
Date class'ı üye fonksiyonları
#include <iostream>
#include "Date.h" // Date.h'tan Date class'ını dahil ediyoruz
using namespace std;
//
Date constructor 3 üyeyi initialize ediyor
//
Değerlerin doğru girildiğini varsayıyoruz:
Date::Date(int m, int d, int y)
{
setMonth(m);
setDay(d);
setYear(y);
}
//
ayı ayarla
void Date::setMonth(int m)
{
// bu kısım
istenildiği gibi ayarlanabilir, ben yanlış değer girince 1'e ayarlama // yaptım
month = m;
if (month < 1)
month = 1;
if (month > 12)
month = 1;
}
//
ayı döndür
int Date::getMonth()
{
return month;
}
//
günü ayarla
void Date::setDay(int d)
{
// bu kısım
da istenildiği gibi ayarlanabilir. En büyük ay günü 31 ve en küçük ay
// günü 28
day = d;
}
//
günü döndür
int Date::getDay()
{
return day;
}
//
yılı ayarla
void Date::setYear(int y)
{
year = y;
}
//
yılı döndür
int Date::getYear()
{
return year;
}
//
tarihi mm/dd/yyyy formatında yaz
void Date::displayDate()
{
cout << month << '/' << day << '/' << year << endl;
}
Main kısmını da istediğiniz gibi düzenleyebilirsiniz. Programı burada test edeceğimiz için istediğimiz gibi kurcalayabiliriz. Ben şöyle yaptım:
//
Main.cpp
#include <iostream>
#include "Date.h" // Date.h'tan Date class'ını dahil ediyoruz
using namespace std;
int main()
{
Date date(4, 26, 1990); // bir
Date nesnesi yaratıyoruz, tarihi 26 Nisan 1990
cout << "Ay: "
<< date.getMonth() << endl;
cout << "Gun: "
<< date.getDay() << endl;
cout << "Yil: "
<< date.getYear() << endl;
cout << "\nTarih:"
<< endl;
date.displayDate(); // çıktısı 4/26/1990
date.setMonth(16); // geçersiz ay
date.setDay(21);
date.setYear(2001);
cout << "\nYeni tarih:"
<< endl;
date.displayDate();
system("Pause");
return 0;
}
Çıktı ise şöyle:
Dediğim gibi geçersiz gün ve ay hesabını yapmadım, onu da size ödev olarak bırakayım. J
Dediğim gibi geçersiz gün ve ay hesabını yapmadım, onu da size ödev olarak bırakayım. J
Hoşçakalın.
teşekkürler...
YanıtlaSilbirde class larda inheritance yani kalıtım miras ile ilgili ufak bir program yazarsanız iyi olur..yani c++ da class lar arasında nasıl veri aktarımı yapıldıgıyla ilgili, mantıgı anlamak açısından..
Rica ederim.
SilEn kısa sürede değerlendirmeye çalışacağım önerinizi.
Çok teşekkürler başarılı bir anlatım olmuş.
YanıtlaSil