Dasturlash fanidan


Mavzu-4: . O’zaro boglangan sinflarni tashkil



Yüklə 90,46 Kb.
Pdf görüntüsü
səhifə4/5
tarix07.01.2024
ölçüsü90,46 Kb.
#201257
1   2   3   4   5
Mustaqil ishi 3 dasturlash

Mavzu-4:
. O’zaro boglangan sinflarni tashkil 
etish
C ++ - bu ob'ektga yo'naltirilgan dasturlash tili. C++ 
dasturlash tilida hamma narsa uning xususiyatlari va 
usullari bilan bir qatorda sinfllar va obyektlar bilan 
bog'liq. 
Sinf - bu bizning dasturimizda foydalanishimiz 
mumkin bo'lgan foydalanuvchi belgilaydigan 
ma'lumot turi va u ob'ekt tuzuvchisi yoki ob'ektlarni 
yaratish uchun "reja" sifatida ishlaydi.
Sinf yaratish uchun class kalit so'zdan foydalaning. " 
MyClass" Nomli sinf yaratamiz.
class MyClass { // class
public: // ochiqlik siyosati
int myNum; // Attribute (int tipiga tegishli)
string myString; // Attribute (string tipiga tegishli)
};
Misolni tushuntirish.


class Kalit so'z MyClass deb atalgan bir sinf yaratish 
uchun ishlatiladi .
publicKalit so'z bir bo'lib kirish belgisi ifodalaydi. 
Bu degani class dan tashqarida ham attributlardan 
foydalanish mumkin .
Sinf ichida butun son myNum va satr o'zgaruvchisi 
mavjud myString. O'zgaruvchilar sinf ichida e'lon 
qilinganida, ular atributlar deb nomlanadi .
Sinf a’zolariga ko’rsatkich 
C++ da shunday ko’rsatkich qilsa bo’ladiku bu 
ko’rsatkich class a’zosini ko’rsatib turadi. Bunday 
ko’rsatkichlarni pointer-to-member deb ataladi. 
Class a’zosiga ko’rsatkichda maxsus .* va ->* 
operatorlar ishlatiladi.
E’lon qilinishi: 
int c1::*data; //toifaga ko’rsatkich
int (c1::*func)(); //funksiyaga ko’rsatkich 
data = &c1::val; //val joyini data’ga olish
func = &c1::get_num; //get_num joyini func’ga 
olish 
ob.*data; // val ga murojat
(ob.*func)(); // get_num() ga murojat 


Demak yuqoridagi misoldan ko’rinib turibdiki, 
obyekt ko’rsatkichi orqali sinf a’zolariga murojaat 
qilish imkoniyati mavjud. Bunda sinf a’zosiga mos 
ko’rsatkich o’zgaruvchi e’lon qilinadi va ushbu 
o’zgaruvchi orqali sinf a’zosiga murojaat qilinadi.
class c1 { 
public: int get_num() { return val + val; }
c1(int a){ val = a; } 
int val;
};
int c1::*data; // c1 class a’zolariga ko’rsatkich 
yaratildi 
int (c1::*func)(); // c1 class a’zolariga ko’rsatkich 
yaratildi
c1 a(4), b(8); // a va b obyektlar yaratildi 
data = &c1::val; // data va func ko’rsatkichlariga c1 
a’zolarining joylari olindi
func = &c1::get_num; // data va func 
ko’rsatkichlariga c1 a’zolarining joylari 
olindi


cout<qilinmoqda
cout<<(a.*func)();< 

Yüklə 90,46 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin