Topshiriq namunasi. Strukturali massiv yaratish:
“talabalar.txt”n
nomli faylda bir
guruhdagi talabalarning ismi familiyasi kursi va reytingi berilgan. Shu talabalardan 5
bahoga
o’qigan talabalar ro’yxati chiqarilsin.
Talablar.txt faylida quyidagi ma’lumotlar berilgan bo’lsin:
Sinf
Sintaksis bo‘yicha, C++ da sinf – bu mavjud bo‘lgan tiplar
asosida yangi yaratilgan
strukturlangan tip.
Sinf ta’rifi sodda shakli:
{
};
bu yerda:
sinf_tipi
–
class
xizmatchi so‘zi;
sinf_nomi
– identifikator;
sinf_komponentlari_ro‘yxati
– sinfga tegishli ma’lumotlar va funksiyalar
ta’rifi.
Funksiya – bu ob’ektlar ustida bajariladigan operatsiyalarni aniqlovchi sinf usuli.
Ma’lumotlar – bu ob’ekt strukturasini xosil qiluvchi maydon.
Usullar
sinfdan
tashqarida
aniqlanganda
ularning
nomlarini
kvalifikatsiya
qilish
(ixtisoslashtirish) kerak. Usulning ko‘rimlilik soxasini aniqlaydigan uning bunday kvalifikatsiya
sintaksisi quyidagi ko‘rinishga ega:
::
Sinf ichida aniqlangan usullar ko‘zda tutilgan bo‘yicha joylashtiriluvchi (
inline
) funksiya
xisoblanadi. Sinf tashqarisida aniqlangan usullarni oshkor ravishda joylashtiriluvchi deb
ta’riflanishi lozim.
Sinf ob’ekti (sinf nusxasi) ni ta’riflash uchun quyidagi konstruksiyadan foydalaniladi:
;
Ob’ekt orqali maydonlarga va usullarga quyidagicha murojjat qilish mumkin:
< ob’ekt_nomi >.
< ob’ekt_nomi >.
Misol:
Mashina nomli class yarating unda narx va miqdor nomli 2 ta maydon va qiymat
berish va sotib olish nomli 2 ta metod bo’lsin.
#include
using namespace std;
class Mashina {
private:
int sum;
int miqdor_n;
public:
void qiymat_berish(int n,int s);
void sotib_olish();
};
void Mashina::qiymat_berish(int n, int s) {
miqdor_n=n;
sum = s;
}
void Mashina::sotib_olish() {
cout<
}
int main(){
Mashina a;
a.qiymat_berish(40,100000000);
a.sotib_olish();
}
Komponentalarga murojat xuquqlari
Komponentalarga murojaat xukuki murojaat spetsifikatorlari yordamida boshqariladi:
public, private, protected
.
Umumiy (
public
) komponentalar dasturni ixtiyoriy qismida murojaat xuquqiga ega.
Ulardan, ixtiyoriy funksiya ushbu sinf ichida va sinf tashqarida foydalansa xam bo‘ladi.