1. 1
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
URGANCH FILIALI
DASTURLASH2
OLE, MFC texnologiyalari. Ko’p oynali
muhitlar bilan ishlash. Visual C++ muhitida
ko’p oynali muhit yaratish.
13
MAVZU
Noma’lum tiplar va
noma’lum nomlar fazosi.
1
Ma’ruza
Ma’ruzachi
Ass. Yusupova J
2. DASTURLASH 2
Mа’ruza rejasi
2
Turdan turga o’tkazish operatorlari;
4
1.Namespace – nomlar fasozi nima?
1
1.Nomlar fazosida xatoliklar;
2
Ichma – ich joylashgan nomlar fazosi;
3
Xulosa.
5
3. DASTURLASH 2
Namespace – nomlar fasozi
3
• Namespace – bir-xil identifikatorlarni bitta dasturda
ishlatish muammosini hal qiladi.
• Namespace ni umumiy strukturasi quyidagicha:
• namespace <nom>
{
• ………
• }
15. DASTURLASH 2
Masala:
15
“talaba” nomli nomlar fazosi va unda
“Talaba” classini yarating. Class
maydonlari: Familiyasi, ismi, kursi,
baholari, stipendiyasi. Class
komponentalarini inkapsulyastiyalash,
konstruktorlar va class metodlarini ishlab
chiqing. Obyektlar massivini yarating va
ular ustida qidirish, saralash, o’zgartirish
amallarini bajaring.
22. DASTURLASH 2 22
Aniq va aniq bo’lmagan o’zgartirishlar
C ++ aniq va noma’lum ma'lumotlar turini
o'zgartirishni farqlaydi. Ma'lum bo'lmagan turdagi
ma'lumotlar konversiyasini C ++ kompilyatori amalga
oshiradi, lekin dasturchining o'zi aniq ma'lumotlarni
aylantirishni amalga oshiradi. Ma'lumotlar turini
o'zgartirish to'g'risida quyidagi jadvalda keltirilgan.
Jadvalda bo'linish operatsiyasi ko'rib chiqilgan.
int ni qabul qiladigan butun son turi sifatida,
float yoki double haqiqiy ma'lumotlar turi suzuvchi
bo'ladi.
23. DASTURLASH 2 23
Turdan turga o’tkazishning aniq va noaniq
usullari
x y Bo’lish natijasi Misol
Bo’linuvchi Bo’luvchi Vaqtincha x = 15 y = 2
Int int int 15/2=7
int float float 15/2=7.5
float int float 15/2=7.5
24. DASTURLASH 2 24
Ma'lumot turlarini aniq o'zgartirish usuli:
• float (15) / 2 // natija 7.5, 15 raqami haqiqiy ma'lumot
turiga o'zgartiriladi.
• double (15) / 2 // natija 7.5 - bir xil !!!
• C ++ shuningdek, bir tomonlama(Unar) operatsiyani
bajaradi:
• static_cast </ * ma'lumotlar turi * /> (/ * o'zgaruvchi
yoki son* /)
• misol: static_cast <float> (15) / 2, natija 7.5
• int ret=15;
• static_cast<float>(ret)/2 //Natija 7.5
26. DASTURLASH 2 26
Turdan turga o’tkazish operatorlari
• Ba'zi turdan-turga o’tkazuvchi operatorlar faqat C ++ da
qo'llaniladi. Ushbu operatorlar C tili turini tavsiflovchi
noaniqlik va xato imkoniyatlarini yo'q qiladi, bu operatorlar
quyida keltirilgan.
• dynamic_cast polimorf turlarini o'zgartirish uchun
ishlatiladi.
• static_cast polimorf bo'lmagan turlarni o'zgartirish
uchun ishlatiladi.
29. DASTURLASH 2 29
static_cast - C ++ da ma'lumotlarning bir xil
turini o’tkazish
static_cast operatsiyasi faqat C ++ da mavjud. static_cast-ni bir
turni ikkinchisiga o'tkazish uchun ishlatish mumkin, ammo u noto'g'ri
konversiyani amalga oshirish uchun ishlatilmaydi, masalan, qiymatni
ko'rsatgichga yoki aksincha. C-uslubidagi quyishdan ko'ra static_cast
operatsiyasidan foydalanish tavsiya etiladi, chunki static_cast yaroqsiz
kastlarni cheklaydi va shuning uchun xavfsizroqdir.
Qat'iy aytganda, static_cast operatsiyasi - bu ishlash uchun
ma'lumotlar turini aniq ko'rsatishingiz kerak bo'lgan funktsiya
shablonidir, ya'ni shablon parametrini belgilashingiz kerak.