Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BİLGİSAYAR programlama II

Benzer bir sunumlar


... konulu sunumlar: "BİLGİSAYAR programlama II"— Sunum transkripti:

1 BİLGİSAYAR programlama II
Yapılar ve Sınıflar (struct ve class) BİLGİSAYAR programlama II

2 struct

3 Bir yapı (struct) basit değişkenler topluluğu şeklinde tanımlanabilir.
Yapıdaki değişkenlerin tipleri birbirinden farklı olabilir (Aynı olma zorunluluğu yoktur). Dizi değişkenlerde dizinin elemanlarının tümünün aynı tipte olma zorunluluğu olduğunu hatırlayalım.

4 Dizideki verilerden her biri dizinin elemanları olarak isimlendirilmektedir.
Yapıdaki verilerden her biri yapının üyeleri olarak isimlendirilmektedir.

5 struct örnek tanımlama

6 Yapılar sınıflarla birlikte nesne programlamanın iki önemli yapı elemanıdır.

7 Örnek program #include <iostream> struct Parca { }; int ModelNo;
struct Parca { int ModelNo; int ParcaNo; float Maliyet; };

8 main() { } Parca P1; // Yapı değişkeni tanımlama P1.ModelNo = 60;
P1.ParcaNo = 601; P1.Maliyet = 21.50; // Yapı üyelerinin görüntülenmesi cout << "Model " << P1.ModelNo; cout << ", parca " << P1.ParcaNo << endl; cout << P1.Maliyet << " TL’ye mal olmaktadır.”; }

9 Ekran çıktısı

10 Örnek program #include <iostream> main() { struct OGRENCI
main() { struct OGRENCI int Vize; int Final; char Ad[25]; } ;

11 } struct OGRENCI Lisansustu; // C tarzi struct bildirimi
OGRENCI Lisans; // C++ tarzi struct bildirimi Lisansustu.Vize = 90; Lisans.Final = 100; cout << Lisansustu.Vize << " " << Lisans.Final << endl; }

12 Ekran çıktısı

13 Bu örnekte diğerlerinden farklı olarak, yapı içerisinde fonksiyon (metod) kullanılmıştır. Yapılar içerisinde (Sınıf içerisinde de aynı) kullanılan fonksiyonlara metod adı verilmektedir.

14 Örnek #include <iostream> #include <conio.h> struct Zaman
struct Zaman { int Saat; int Dakika; int Saniye; int SaniyeyeDonustur() return Saat*60*60+Dakika*60+Saniye; } };

15 main() { Zaman t; cout<<"Bir zaman girin (saat dakika saniye): "; cin>>t.Saat>>t.Dakika>>t.Saniye; cout << “Girilen zaman toplam “ << t.SaniyeyeDonustur() << “ saniyedir...”; getch(); }

16 Ekran çıktısı

17 SaniyeyeDonustur() metodu yapı içerisinde tanımlanmıştır.
Yapı içerisindeki metotlar yapı tanımlaması bittikten sonra da tanımlanabilir. Metot bildirimi yapı içerisinde yapılır, fakat metot tanımlaması (açık yazılımı) metot dışında yapılır. Önce yapı adı, sonra :: ve metot adı yazılarak tanımlama yapılır:

18 Örnek #include <iostream> #include <conio.h> struct Zaman
struct Zaman { int Saat; int Dakika; int Saniye; int SaniyeyeDonustur(); };

19 Zaman::SaniyeyeDonustur() { return Saat*60*60+Dakika*60+Saniye; }

20 main() { Zaman t; cout<<"Bir zaman girin (saat dakika saniye): "; cin>>t.Saat>>t.Dakika>>t.Saniye; cout << "Girilen zaman toplam " << t.SaniyeyeDonustur() << " saniyedir..."; getch(); }

21 Tanımlanan yapılar dizi değişken tanımlamalarında bilgi tipi olarak da kullanılabilir.

22 Örnek #include <iostream> #include <conio.h>
const int N = 2; struct Parca { int ModelNo; int ParcaNo; float Maliyet; };

23 main() { int i; Parca P[N];

24 for (i=0; i<N; i++) { } cout << endl;
cout << "Model no: "; cin >> P[i].ModelNo; cout << "Parca no: "; cin >> P[i].ParcaNo; cout << "Maliyet: "; cin >> P[i].Maliyet; }

25 cout << endl; for (i=0; i<N; i++) { }
cout << "Model: " << P[i].ModelNo; cout << " Part: " << P[i].ParcaNo; cout << " Maliyet: " << P[i].Maliyet << endl; }

26 Ekran çıktısı

27 class

28 Yapı (struct) tanımlamasına çok benzer olan class (sınıf) tanımlaması vardır.
Sınıflarda üyeler için özel (private) ve genel (public) ayrımların yapılabilmesidir. Bu ayrım sınıf üyelerine (genelde değişkenler) dışarıdan müdahelenin yapılamamasını sağlamaktadır. Üye değişkenlere sadece sınıf fonksiyonları (metod) ile ulaşabilmeye izin verilmesi amaçlanmaktadır.

29

30


"BİLGİSAYAR programlama II" indir ppt

Benzer bir sunumlar


Google Reklamları