Aliyev o. A, Xo‘jamuratov b. «C++ da dasturlash» fanidan tajriba ishlarini bajarish bo‘yicha uslubiy ko‘rsatma


Download 2.01 Mb.
bet21/27
Sana20.11.2023
Hajmi2.01 Mb.
#1787789
1   ...   17   18   19   20   21   22   23   24   ...   27
Bog'liq
file8

class shape {
//...
public:
virtual void rotate(int) q =0; //sof virtual funksiya
virtual void draw() = 0; // sof virtual funksiya
};
Abstrakt sinfni faqat boshqa sinf ajdodi sifatida ishlatish mumkin:
class circle : public shape {
int radius;
public:
void rotate(int) { }
//qayta ta’riflash shape::rotate
void draw();
//qayta ta’riflash shape::draw
circle(point p, int r);
};
Agar sof virtual funksiya xosila sinfda to’liq ta’riflanmasa, u xosila sinfda ham sof virtual bo’lib qoladi, natijada xosila sinf xam abstrakt sinf bo’ladi.
Abstrakt sinflar realizatsiya detallarini aniqlashtirmasdan faqat interfeysni ko’rsatish uchun ishlatiladi. Masalan operatsion tizimda qurilma drayveri abstrakt sinf sifatida berilishi mumkin:
class character_device {
public:
virtual int open() = 0;
virtual int close(const char*) = 0;
virtual int read(const char*, int) = 0;
virtual int write(const char*, int) = 0;
virtual int ioctl(int ...) = 0;
// ...
};
Drayverlar character_device sinfining ajdodlari sifatida kiritilishi mumkin.
Nazorat savollari:

  1. Konstruktordan voris olish nima uchun kerak?

  2. Destruktordan qanday voris olinadi?

  3. Ko’plikdagi vorislik qanaqa bo’ladi?

  4. Abstrakt sinflar nima uchun ishlatiladi?

Topshiriqlar:
1. Asosiy shakl va qirqim uchun sinf yarating. Shaklning yuzasini va perimetrini hisoblash uchun usullarni amalga oshiring. Berilgan nuqta shakl ichida, tashqarisida yoki chegarasida yotganligini aniqlovchi usulni qo’shing. Vorislik va tegishlilik munosabatlaridan foydalanib qirqimga ega shakl uchun sinf yarating.
2. Shakl uchun vorislik asosida sinf yarating. Shaklning yuzasini va perimetrini xisoblash uchun usullarni amalga oshiring. Interfeyslar yordamida minimal va maksimal elementlarni aniqlash, xamda tartiblash uchun universal funksiyalar yarating. Dasturlar obyektlar massivini yarating va unga universal funksiyalarni qo’llang.





Download 2.01 Mb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   ...   27




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