Dasturlash fanidan



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

Sinf-nomi.ob’ekt-nomi


Dasturda ob’ekt komponentasiga quyidagicha 
murojat kilish mumkin:
Sinf-nomi.ob’ekt-nomi :: komponenta-nomi yoki 
soddarok holda
Ob’ekt-nomi. Element-nomi
Misol uchun: 
x.real=1.24;
x.imag=0.0;
dim[3]. Real=0.25;
dim[3]. Imag=0.0;
Sinfga tegishli funksiyalarga quyidagicha murojat 
qilinadi:
ob’ekt-nomi. funksiya-nomi
Misol uchun:
X. define(0.9) (Bu holda real=0.9 va imag=0.0)
X. define(4.3,20.0) (Bu holda kompleks son 
4.3+i*20.0)
Display funksiyasi ekranda kompleks son 
qiymatlarini tasvirlaydi.
Komponenta o‘zgaruvchilar va komponenta 
funksiyalar.Sinf kompanenta o‘zgaruvchilari sifatida 
o‘zgaruvchilar , massivlar, ko‘rsatkichlar ishlatilishi 
mumkin. Elementlar ta’riflanganda initsializatsiya 
kilish mumkin emas. Buning sababi shuki sinf uchun 
xotiradan joy ajratilmaydi. Kompanenta 
elementlariga kompanenta funksiyalar orkali 


murojat qilinganda faqat nomlari ishlatiladi Sinfdan 
tashqarida sinf elementlariga emas ob’ekt 
elementlariga murojat kilish mumkin . Bu murojat 
ikki xil bo‘lishi mumkindir.
Ob’ekt- nomi . Element - nomi.
Sinf elementlari sinfga tegishli funksiyalarida 
ishlatilishidan oldin ta’riflangan bo‘lishi shart emas. 
Xuddi shunday bir funksiyadan xali ta’rifi 
berilmagan ikkinchi funksiyaga murojaat kilish 
mumkin.
Komponentalarga murojaat xukuklari. 
Komponentalarga murojaat xuquqi murojaat 
spetsifikatorlari yordamida boshkariladi. Bu 
spetsifikatorlar:
Protected – ximoyalangan;
Private – xususiy;
Public – umumiy;
Ximoyalangan kompanentalardan sinflar ierarxiyasi 
qurilganda foydalaniladi. Oddiy holda Protected 
spetsifikatori Private spetsifikatoriga ekvivalentdir. 
Umumiy ya’ni Public tipidagi komponentalarga 
dasturning ixtiyoriy joyida murojaat kilinishi 
mumkin.
Xususiy ya’ni Private tipidagi komponentalarga sinf 
tashqarisidan murojaat qilish mumkin emas. Agar 
sinflar Struct xizmatchi so‘zi bilan kiritilgan bo‘lsa, 
uning hamma komponentalari umumiy Public 
bo‘ladi, lekin bu xuquqni murojaat spetsifikatorlari 


yordamida o‘zgartirish mumkin.
Agar sinf Class xizmatchi so‘zi orkali ta’riflangan 
bo‘lsa, uning hamma komponentalari xususiy 
bo‘ladi. Lekin bu xuquqni murojaat spetsifikatorlari 
yordamida o‘zgartirish mumkindir.
Bu spetsifikator yordamida sinflar umumiy holda 
quyidagicha ta’riflanadi:
class class_name
{
int data_member; // Ma’lumot-element
void show_member(int); // Funksiya-element
};
Sinf ta’riflangandan so‘ng, shu sinf tipidagi 
o‘zgaruvchilarni(ob’ektlarni) quyidagicha ta’riflash 
mumkin:
class_name object_one, object_two, object_three;
Quyidagi misolda 
employee,
sinfi kiritilgandir:
class employee
{
public:
long employee_id;
float salary;
void show_employee(void)
{
cout<<"Nomer: "<cout<<"Maosh: "<


};
};
Bu sinf ikki o‘zgaruvchi va bitta funksiya-elementga 
ega.
Quyidagi dastur ikki employee ob’ektini yaratadi. 
Nuqta operatordan foydalanib ma’lumot 
elementlarga qiymat beriladi so‘ngra 
show_employee
elementidan foydalanib xizmatchi 
xakidagi ma’lumot ekranga chikariladi:
#include
using namespace std;
class employee
{
public:
long employee_id;
float salary;
void show_employee(void)
{
cout<<"Nomer: "<cout<<"Maosh: "<};
};
int main()
{
employee worker, boss;
worker.employee_id = 12345;
worker.salary = 25000;
boss.employee_id = 101;


boss.salary = 101101.00;
cout<<"\n"<<"ishchi"< 
worker.show_employee();
cout<<"\n"<<"boss"< 
boss.show_employee();
return 0;
}
Komponenta funksiya ta’rifi. Komponenta funksiya 
albatta sinf tanasida ta’riflangan bo‘lishi lozim. 
Global funksiyalardan farqli komponenta funksiya 
sinfning hamma komponentalariga murojat qilishi 
mumkin. Funksiyaning faqat prototipi emas to‘la 
ta’rifi sinf tanasida joylashgan bo‘lsa, bu funksiya 
joylashtiruvchi (inline) funksiya hisoblanadi. 
Ma’lumki inline funksiyalardassikllar, kalit bo‘yicha 
o‘tish operatori ishlatilishi mumkin emas. Bundan 
tashqari bunday funksiyalar rekursiv funksiya 
bo‘lolmaydi. Bu chegaralarni engish uchun sinf 
tanasiga faqat funksiya prototipi joylashtirilib, 
funksiyaning to‘la ta’rifi sinf tashqarisida dasturga 
kiruvchi boshqa funksiyalar bilan birga beriladi. 
Komponenta funksiyani sinf tashqarisida 
ta’riflanganda, qaysi sinfga tegishli ekanligini 
quyidagi shaklda ko‘rsatiladi:
Sinf-nomi :: Komponenta funksiya-nomi
Sinf tanasiga komponenta funksiya prototipi 
quyidagi shaklda joylashtiriladi:
Tip funksiya-nomi(formal-parametrlar-ta’rifi)


Sinf tashqarisida funksiya quyidagi shaklda 
ta’riflanadi:
Tip sinf-nomi :: funksiya-nomi(formal-parametrlar-
spetsifikatsiyasi)
{ funksiya tanasi };
Oldingi misoldagi 
employee
sinfida funksiya sinf 
ichida ta’riflangan. Bunday funksiya joylanuvchi 
(inline) funksiya
deb qaraladi.

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