sinflar va ko’rsatkichlar (dasturlash)

DOC 50.5 KB Free download

Page preview (5 pages)

Scroll down 👇
1
1452790075_63502.doc sinflar va ko’rsatkichlar (dasturlash) reja: 1. sinflarda ko’rsatkichlar 2. obyektlarga ko’rsatkich 3. sinf komponentalariga ko’rsatkichlar. this ko’rsatkichidan foydalanish 4. ilovalardan foydalanish (reference) obyektlarga ko’rsatkich (pointer) obyektga yo’naltirilgan dasturlashda sinflar orqali obyektlar ustida turli xil bajariladigan amallar mavjud. obyektlarga boshqa o’zgarvchilar kabi ko’rsatkich orqali murojaat qilish mumkin. obyekt a’zolariga ko’rsatkich orqali murojat qilish uchun .(nuqta) o’rniga -> operatori ishlatiladi. quyida misol keltirilgan: class c1 { int a; public: int get_num() { return a;} c1(int x){ a = x; } }; c1 a = 2, *p, b[2]; // p ko’rsatkich e’lon qilindi p = &a; // a obyektning adresi p ko’rsatkichga olindi p->get_num(); // ko’rsatkich orqali obyekt a’zosiga murojat p = b; // b obyektning 1 chi elementi adresi p ko’rsatkichga olindi ko’rsatkichlarda bajariladigan +, - amallarni obyektlar bilan ham qo’llash imkoniyati mavjud bo’lib, oddiy ko’rsatkichlardagi barcha xususiyatlar ushbu holatda qo’llanilish jarayonida ham to’liq saqlanib qoladi. class c1 { int a; …
2
(int x){ this->a = x; } }; class derived: public base { int b; public: int get_b() { return this->b;} void set_b(int x){ this->b = x; } }; nasl olingan toifaga ko’rsatkich base *bp; // ona bp ko’rsatkich derived d; // voris d obyekt bp = &d; // base ko’rsatkich derived ga ko’rsatadi //derived obyektiga base ko’rsatkich orqali murojat bp->set_a(5); cout get_a(); //errorrrr, chunki bp base pointer orqali derived obyektning a’zolariga murojat qila olmaymiz bp->set_b(5); //derived obyektning a’zolariga murojat qilish uchun bp base ko’rsatkichni derived ko’rsatkich toifasiga o’zgartirish kerak ((derived*)bp)->set_b(10); cout get_b(); 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 …
3
oson. ssilkani 3 hil usul bilan ishlatish mumkin: · funksiya parametri · funksiyaning qaytarish qiymati · alohida ssilka ssilka – funksiya parametr sifatida ko’rsatkich(pointer) ssilka(reference) void neg(int *i) { *i = -*i; } x = 10; neg(&x); cout<<x; void neg(int &i) { i = -i; } x = 10; neg(x); cout<<x; ssilka ishlatilganda hech qanday ortiqcha belgilar qo’yilmaydi, faqatgina e’lon qilinganda & operatori qo’yiladi. pointerda esa * operator qo’yiladi. ssilka ham ko’rsatkich ham adresdagi qiymatni o’zgartiradi. faqatgina ssilka bilan ishlash osonroq. quyidagi misolda reference orqali ikkita o’zgaruvchining o’rnini almashtirish daturi keltirilgan void swap(int &i, int &j) { int t; t = i; // * operatori endi kerak bo’lmaydi i = j; j = t; } int a = 4, b = 19; swap(a, b); // a = 19, b = 4 ssilka – funksiyaning qaytarish qiymati char s[] = "hello world"; char &replace(int pos) { // funksiya s[pos] da joylashgan …
4
sinflar va ko’rsatkichlar (dasturlash) - Page 4
5
sinflar va ko’rsatkichlar (dasturlash) - Page 5

Want to read more?

Download the full file for free via Telegram.

Download full file

About "sinflar va ko’rsatkichlar (dasturlash)"

1452790075_63502.doc sinflar va ko’rsatkichlar (dasturlash) reja: 1. sinflarda ko’rsatkichlar 2. obyektlarga ko’rsatkich 3. sinf komponentalariga ko’rsatkichlar. this ko’rsatkichidan foydalanish 4. ilovalardan foydalanish (reference) obyektlarga ko’rsatkich (pointer) obyektga yo’naltirilgan dasturlashda sinflar orqali obyektlar ustida turli xil bajariladigan amallar mavjud. obyektlarga boshqa o’zgarvchilar kabi ko’rsatkich orqali murojaat qilish mumkin. obyekt a’zolariga ko’rsatkich orqali murojat qilish uchun .(nuqta) o’rniga -> operatori ishlatiladi. quyida misol keltirilgan: class c1 { int a; public: int get_num() { return a;} c1(int x){ a = x; } }; c1 a = 2, *p, b[2]; // p ko’rsatkich e’lon qilindi p = &a; // a obyektning adresi p ko’rsatkichga olindi p->get_num(); // ko’rsatkich orqal...

DOC format, 50.5 KB. To download "sinflar va ko’rsatkichlar (dasturlash)", click the Telegram button on the left.

Tags: sinflar va ko’rsatkichlar (dast… DOC Free download Telegram