Obyektga mo‘ljallangan dasturlash. An'anaviy dasturlash
Game sinfi tarkibida print() metodini e’lon qilish
Download 261.89 Kb.
|
Dasturlash mustaqil ish
Game sinfi tarkibida print() metodini e’lon qilish:
class Game { public: string s_game; int s_player; int s_time; void print() // funksiya-a’zoni aniqlash { cout << s_game << "/" << s_player << "/" << s_time; } }; Xuddi shu tarzda, struktura a'zolariga ham, sinf a'zolariga ham (o'zgaruvchilar va funksiyalarga) a'zo tanlash operatori (.) orqali kirish mumkin: #include using namespace std; class Game { public: string s_game; int s_player; int s_time; void print() // funksiya-a'zoni aniqlash { cout <<"Game : "<< s_game <<" " <<"number of players : "<< s_player << " " <<"game time : "<< s_time; } }; int main() { Game football { "football", 22 , 90 }; football.print(); // Game football obyektining print() metodini chaqirish uchun a'zo tanlash operatoridan foydalanish return 0; } Dasturni bajarish natijasi: Game : football number of players : 22 game time : 90 Sinf metodlari biroz boshqacha ishlaydi: barcha metod chaqiruvlari sinf obyekti bilan bog'lanishi kerak. football.print() ga murojaat qilganimizda, biz kompilyatorga football obyektining print() metodini chaqirishini aytamiz. print() metodining ta'rifini yana ko'rib chiqamiz: string s_game, int s_player va int s_time aslida nimani nazarda tutadi? Ular tegishli today obyektiga murojaat qiladi (bu murojaat qiluvchining o'zi tomonidan belgilanadi). Shuning uchun, football.print() ni chaqirganda, kompilyator quyidagicha izohlaydi: string s_game; int s_player; int s_time; Asosan, bog'langan obyekt bilvosita metodga o'tkaziladi. Shu sababli, u ko'pincha yopiq obyekt deb ataladi. Tegishli darsda yashirin obyekt qanday metodga o'tishi haqida batafsil gaplashamiz. A'zo o'zgaruvchilar uchun m_ (inglizcha "m" = "members" – a’zolar) prefiksidan foydalanish a'zolar o'zgaruvchilarini funktsiya parametrlari yoki sinf metodlari ichidagi lokal o'zgaruvchilardan ajratishga yordam beradi. Bu bir necha sabablarga ko'ra foydalidir: Ikkinchidan, funksiya parametrlari yoki funksiya ichida e'lon qilingan lokal o'zgaruvchilardan farqli o'laroq, a'zo o'zgaruvchilar sinf ta'rifida e'lon qilinadi. Shuning uchun, agar biz m_ prefiksli o'zgaruvchining qanday e'lon qilinishini bilmoqchi bo'lsak, biz funksiya ichida emas, balki sinf ta'rifiga qarashimiz kerakligini tushunamiz. Odatda dasturchilar sinf nomlarini katta harf bilan yozadilar. #include class University { public: string u_name; int f_number; int s_number; void print() { cout << "Universitet nomi : " << u_name << "\n Fakultetlar soni : " << f_number<< "\nTalabalar soni : " << s_number ; } }; int main() { University Samdu { "Samarqand davlat universiteti", 18 , 30000 }; University Uzmu { “O’zbekiston milliy universiteti", 23 , 35000 }; Samdu.print(); cout< return 0; } Dastur kodi : Dasturni bajarish natijasi: Universitet nomi : Samarqand davlat universiteti Fakultetlar soni : 18 Talabalar soni : 30000 Universitet nomi : O'zbekiston milliy universiteti Fakultetlar soni : 23 Talabalar soni : 35000 Download 261.89 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling