48
13
Trapetsiya
Kvadrat
Ellips
14
Trapetsiya
Romb
Aylana
15
Trapetsiya
Uchburchak
Yarim aylana
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?
Tajriba ishi №8
Mavzu: Standart qoliplar
kutubxonasi bilan ishlash
Ishni bajarishdan maqsad: Visual Studio C++ 2012
dasturlash muhitida
standart qoliplar kutubxonasi bilan ishlashni o’rganish.
Qo’shimcha yuklash ta’rifi
Standart amallarni (masalan +) qo’shimcha yuklash
biror sinf bilan birga
qo’llashda mazmunini o’zgartirishdan iboratdir.
Standart amallarni qo’shimcha yuklash maxsus funksiya – komponenta kiritish
yo’li bilan amalga oshiriladi. Qo’shimcha yuklash til
standartiga asosan amalga
oshiriladi, amallar belgisi va operandlar soni o’zgarmaydi.
Amallarni qo’shimcha yuklash uchun quyidagi ta’rifdan foydalaniladi:
( )
quyidagi amallarni qo’shimcha yuklash mumkin:
+ - * / % ^ & | ~ !
= < > += -= *= /= %= ^= &=
|= << >> >>= <<= == != <= >= &&
|| ++ -- [] () new delete
Bu amallar ustivorligi va ifodalar sintaksisini o’zgartirish mumkin emas.
Masalan unar amal % yoki binar ! amalni kiritish mumkin emas. Funktsiya amal xar
qanday funksiya kabi ta’riflanadi va chaqiriladi.
Standart tiplar uchun to’rt amal ("+", "-", "*" va "&") ham unar ham binar amal
sifatida ishlatiladi va qo’shimcha yuklanadi.
49
Hamma qo’shimcha yuklangan amallar uchun operator() amalidan tashqari, ko’zda
tutilgan argumentlardan foydalanish mumkin emas.
Amallar xossalaridan ba’zilaridan foydalaniladi. Xususan operatorq, operator[],
operator() va operator-> nostatik komponenta – funksiya bo’lishi lozim.
Operator - funksiya yoki sinf komponentasi bo’lishi kerak yoki juda bo’lmasa
bitta parametri sinf obyekti bo’lishi kerak (new va delete amallarini qo’shimcha
yuklovchi funksiyalar uchun bu shart emas).
Operator
- funksiya, birinchi parametri asosiy turga tegishli bo’lsa,
funksiya-
komponenta bo’lolmaydi.
C++ tilida quyidagi amallarni qo’shimcha yuklash mumkin emas: