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:
Do'stlaringiz bilan baham: |