6-Laboratoriya mashg’uloti Sinflarni qo’llash. Sinflarning konstrukor va destruktorlari. Qayta yuklash va qayta aniqlash usullari Sinf-struktura tushunchasi



Download 29,46 Kb.
bet3/5
Sana15.01.2022
Hajmi29,46 Kb.
#367143
1   2   3   4   5
Bog'liq
6-Laboratoriya mashg’uloti

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.

Funksiyani sinf tashqarisida ta’riflab sinf ichiga funksiya prototipini joylashtirish mumkin. Sinf ta’rifi bu holda quyidagi ko‘rinishda bo‘ladi:

class employee

{


public:

long employee_id;

float salary;

void show_employee(void);

};

Har xil funksiyalar bir xil nomli funksiyalardan foydalanishi mumkin bo‘lgani uchun funksiya nomi sinf nomi va global ruxsat operatori belgisi (::) qo‘yilishi lozim.



void employee::show_employee(void)

{

cout<<"Nomer: "<

cout<<"Maosh: "<

};

Funksiya sinf tashqarisida ta’riflangan bo‘lsa ularni inline funksiya sifatida qarash uchun funksiya ta’rifida inline so‘zi aniq ko‘rsatilgan bo‘lishi kerak.



Quyidagi dastur show_employee funksiyasi ta’rifini sinf tashqarisiga joylashtiradi va inline so‘zi anik ko‘rsatiladi:

#include

using namespace std;

class employee

{

public:


long employee_id;

float salary;

void show_employee(void);

};

inline void employee::show_employee(void)



{

cout<<"Nomer: "<

cout<<"Maosh: "<

};
int main()

{

employee worker, boss, meneger;



worker.employee_id = 12345;

worker.salary = 25000;

meneger.employee_id=5458;

meneger.salary=65000;

boss.employee_id = 101;

boss.salary = 101101.00;

cout<<"\n"<<"ishchi"<

worker.show_employee();

cout<<"\n"<<"boss"<

boss.show_employee();

cout<<"\n"<<"meneger"<

meneger.show_employee();


return 0;

}


Download 29,46 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish