72 - DARS. THIS KO’RSATKICHI.
Sinfga tegishli funktsiya aniq ob'ekt ma'lumotlarini qayta ishlash uchun chaqirilganda bu funktsiya avtomatik ravishda ob'ektga ko’rsatkich uzatiladi. Bu ko’rsatkich belgilangan this nomiga ega va dasturchi uchun bilintirmagan holda sinf har bir funktsiyasi uchun quyidagicha aniqlangan:
Sinf-nomi const this=ob'ekt adresi; this hizmatchi so’zini ta'riflash lozim emas. Sinf komponentalariga sinfga tegishli funktsiyalarda murojat qilintanda shu ko’rsatkichdan foydalanish mumkin.
Misol uchun sinfni qo’yidagicha ta'riflash mumkin:
Stact s,s
{ int si; char sc;
ss(int in, char cn )
{this ->si =in; this ->sc=cn;}
void print(void)
{ cont<<”\n si=”<< this ->si;
cont<<”\n sc=”<< this ->sc;
Bu misolda this ko’rsatkichidan foydalanish hech qanday afzallikka ega emas. Qo’yidagi misolda sinf komponentasi nomi va sinfga tegishli funktsiya formal parametri nomi bilan ustma ust tushadi.
Bu holda this ko’rsatkichidan foydalanish lozimdir.
#include
class cell
{ int static Amount;
int Namber;
double Meaning;
public:
cell(double Meaning=0.0)
{Amount tt;
this ->number=Amount ;
this-> Meaning=Meaning;
}
void display (void)
{ cont<<”\Number=”<Number;
cont<<”\Amount=”<Amount;
cont<<”\Meaning=”<Meaning;
}
};
int cell::Amount=0
void main(void)
{ cell A;
A.display();
Cell B(200.0);
Cell C(300.0);
B.display();
C.display();
}
Dostları ilə paylaş: |