Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
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.
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.