Referat Mavzu : C++ dasturi operatorlari. Operatorlar. Bajardi: Raxmanqulova Zilola Tekshirdi: Reja


II.2. C++ dasturlash tilida operatorlarni qo’llash



Download 122,68 Kb.
bet8/10
Sana01.07.2022
Hajmi122,68 Kb.
#725085
TuriReferat
1   2   3   4   5   6   7   8   9   10
Bog'liq
dasturlash tillari mustaqil ish Raxmanqulova Zilola 332-guruh

II.2. C++ dasturlash tilida operatorlarni qo’llash
Birlashmalarni eng soda holda qo’yidagicha tasvirlash mumkin. Birlashma-kaliti Birlashma-soni {komponentalar ruyhati}Birlashma komponentalari sodda holda tiplangan ma'lumotlar va funktsiyalardan iborat bo’ladi. Figurali qavslarga olingan komponentalar ro’yhati birlashma tanasi deb ataladi. Birlashmaga tegishli funktsiyalar komponenta-funktsiyalar yoki birlashma funktsiyalari deb ataladi. Birlashma kaliti sifatida Struct hizmatchi so’zi ishlatilishi mumkin. Masalan qo’yidagi konstruktsiya kompleks son birlashmaini kiritadi.
Struct complex 1 { double real; double imag; void define (double re=0.0, double im=0.0)
{ real=re; imag=im;} void display (void) while {cout<=”real=”<cout<=”imag=”<Strukturadan bu birlashmaning farqi shuki komponenta ma'lumotlardan (real, imag) tashqari ikkita komponenta funktsiya (define() va display ()) kiritilgan. Bu kiritilgan birlashma o’zgaruvchilar tipi deb qaralishi mumkin. Bu tiplar yordamida konkret ob'ektlarni qo’yidagicha tasvirlash mumkin: Misol uchun:
Complex x,y;
Complex dim[8];
While Complex *p=1x;
Birlashmaga tegishli ob'ektlar qo’yidagicha tasvirlanadi;
Birlashma-nomi . ob'ekt-nomi
Dasturda ob'ekt komponentasiga quyidagicha murojaat qilish mumkin:
Birlashma-nomi.ob'ekt-nomi :: komponenta-nomi yoki soddaroq 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;
Birlashmaga tegishli funktsiyalarga qo’yidagicha murojaat qilinadi:
funktsiya-nomi.ob'ekt-nomi; Misol uchun:
X. define.(Bu holda real=0.9 va imag=0.0)
X. define.(Bu holda kompleks son 4.3+i*20.0)
Display funktsiyasi ekranda kompleks son qiymatlarini tasvirlaydi.
Birlashmaga tegishli ob'ektga ko’rsatkich orqali komponentalarga quyidagicha murojat qilinadi:
Ob'ektga-ko’rsatkich>element-nomi
Yuqorida ko’rsatilgan P ko’rsatkich orqali H ob'ekt elementlariga qo’yidagicha qiymat berish mumkin:
P>real=2.3
P>imag=6.1
Huddi shu shaklda birlashmaga tegishli funktsiyalarga murojat qilinadi:
P>display;
P>define(2.3, 5.4);
Birlashma kompanenta o’zgaruvchilari sifatida o’zgaruvchilar , massivlar, ko’rsatkichlar ishlatilishi mumkin . Elementlar ta'riflanganda initsializatsiya qilish mumkin emas . Buning sababi shuki birlashma uchun hotiradan joy ajratilmaydi. Kompanenta elementlariga kompanenta funktsiyalar orqali murojat qilinganda faqat nomlari ishlatiladi. Birlashmadan tashqarida birlashma elementlariga emas ob'ekt elementlariga murojaat qilish mumkin. Bu murojaat ikki hil bo’lishi mumkindir.
Ob'ekt- nomi. Element - nomi.
Obe'ktga ko’rsatgich – element nomi.
Birlashma elementlari birlashmaga tegishli funktsiyalarida ishlatilishidan oldin ta'riflangan bo’lishi shart emas. Huddi shunday bir funktsiyadan hali ta'rifi berilmagan ikkinchi funktsiyaga murojaat qilish mumkin. Komponentalarga murojaat huquqlari. Komponentalarga murojaat huquqi murojaat spetsifikatorlari yordamida boshqariladi. Bu spetsifikatorlar :
Protected – himoyalangan;
Private – hususiy;
Public – umumiy;
Himoyalangan kompanentalardan birlashmalar ierarhiyasi qurilganda foydalaniladi. Oddiy holda Protected spetsifikatori Private spetsifikatoriga ekvivalentdir. Umumiy ya'ni Public tipidagi komponentalarga dasturning ihtiyoriy joyida murojaat qilinishi mumkin. Hususiy ya'ni Private tipidagi komponentalarga birlashma tashqarisidan murojaat qilish mumkin emas. Agar birlashmalar Struct hizmatchi so’zi bilan kiritilgan bo’lsa, uning hamma komponentalari umumiy Public bo’ladi, lekin bu huquqni murojaat spetsifikatorlari yordamida o’zgartirish mumkin. Agar birlashma Class hizmatchi so’zi orqali ta'riflangan bo’lsa, uning hamma komponentalari hususiy bo’ladi. Lekin bu huquqni murojaat spetsifikatorlari yordamida uzgartirish mumkindir. Bu spetsifikator yordamida Birlashmalar umumiy holda quyidagicha ta'riflanadi: class class_name
{ int data_member; // Ma'lumot-element void show_member(int); // Funktsiya-element };
Birlashma ta'riflangandan so’ng, shu birlashma tipidagi o’zgaruvchilarni(ob'ektlarni) qo’yidagicha ta'riflash mumkin: class_name object_one, object_two, object_three;
Qo’yidagi misolda employee, birlashmai kiritilgandir:
class employee { public:
char name[64] ; long employee_id; float salary; while void show_employee(void) do { cout << "Imya: " << name << endl; cout << "Nomer slujathego: " << employee_id << endl; cout << "Oklad: " << salary << endl; };};
Har bir yangi ob'ektning kompanentalari faqat shu ob'ektga tegishli bo’ladi . Birlashma kompanentasi yagona bo’lib va hamma yaratilgan ob'ektlar uchun umumiy bo’lishi uchun uni statik element sifatida ta'riflash ya'ni Static atributi orqali ta'riflash lozimdir . S sharning statik kompanentalarini inizializatsiya qilishdan so’ng dasturda ob'ektlarni kiritmasdan oldin ishlatish mumkin. Agar kompanenta private yoki protected sifatida ta'riflangan bo’lsa unga kompanenti funktsiya yordamida murojat qilish mumkin. Lekin kompaneta funktsiyaning chaqirish uchun biror ob'ekt nomini ko’rsatish lozim. Lekin statik kompanentaga murojat qilinayotgan birorta ob'ekt yaratilmagan bo’lishi yoki bir nechta ob'ektlar yaratilgan bo’lishi mumkin shuning uchun birlashma statik elemntlariga ob'ekt nomini ko’rsatmasdan murojat qilish imkoniyatiga ega. Bunday imkoniyatni statik kompanenta funktsiyalar yaratadi. Statik kompanenta funktsiyaga ob'ekt nomi yoki obe'ktga ko’rsatkich orqali murojaat qilish mumkin .
Shu bilan birga nomi orqali qo’ydagicha murojaat qilish mumkin.Agar bir birlashma ob'ektlari umumiy ma'lumotlardan(statik elementlardan foydalanish zarur bo’lishi mumkin. Bu hollarda elementlarni statik xizmatchi so’zi yordamida ta'riflash lozimdir:
Bu dasturda birlashma page_count elementini static int. shaklda ta'riflaydi.
Birlashma ta'rifidan so’ng page_count elementi global uzgaruvchi sifatida ta'riflanadi. Dastur page_count, elementi qiymatini o’zgartirganda, bu o’zgarish book_series birlashmaining hamma ob'ektlarida ko’rinadi.
Ob'ektlar mavjud bo’lmaganda public static tipidagi elementlardan foydalanish Statik elementlardan ob'ekt hali yaratilmasdan foydalanish mumkindir. Buning uchun bu elementni public va static sifatida ta'riflash lozimdir. Quyidagi misolda USE_MBR.CPP dasturi book_series birlashmaiga tegishli page_count elementini thu ob'ektga tegishli ob'ektlar mavjud bo’lmasa ham ishlatadi:
#include #include class book_series {public:
static int page_count; private:
char title [64]; while char author[64] do float price;}
Bu misolda while do elementi public sifatida ta'riflangani uchun, book_series birlashmai ob'ektlari mavjud bo’lmagan holda ham dastur bu elemenetga murojaat qilishi mumkin.
Statik funktsiya elementlardan foydalanish Dasturda statik elementlardan tashqari statik funktsiyaldaridan ham foydalanish mumkindir. Bu holda shu birlashmaga tegishli ob'ekt yaratilmasa ham dastur statik funktsiyaga murojaat qilishi mumkindir. Quyida menu birlashmai ta'riflangan bo’lib ANSI drayvera esc- ketma ketligi yordamida ekranni tozalash uchun ishlatadi. Buts birlashmaning clear_screen usuli statik usul sifatida ta'riflangani uchun menu tipidagi ob'ektlar mavjud bo’lmasa ham bu usuldan foydalanish mumkindir. Quyidagi:
CLR_SCR.CPP dasturda clear_screen usulidan foydalanish ko’rsatilgan:
#include class menu {public: static void clear_screen(void);
// Bu yerda boshqa metodlar bo’lishi kerak
private:
int number_of_menu_options;};

Download 122,68 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




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