Сайфиев ж. Ф. С++ тилига кириш услубий қўлланма


Download 3.45 Mb.
bet65/79
Sana18.10.2023
Hajmi3.45 Mb.
#1707139
1   ...   61   62   63   64   65   66   67   68   ...   79
Bog'liq
cpp buxoro

this кўрсаткичи.


Синфнинг ҳар бир методи яширин параметрга – this кўрсаткичига эгадир. Бу кўрсаткич жорий объектнинг адресини ўзида сақлайди. Олдинги қисмларда қараб чиқилган GetAge() ва SetAge() функциялари ҳам ўзларида бу параметрни сақлар эдилар.


8.8. листингда this кўрсаткичини ошкор кўринишда қўлланилишига мисол келтирилган.
8.8. – листинг. this кўрсаткичи.
// 8.8. – листинг
// this кўрсаткичи
# inсlude
class Turtburchak
{
public:
Turtburchak( );
~Turtburchak( );
void SetLength(int Length){this->itsLength=length }
int GetLength() const {return this ->itsLength; }
void SetWidth(int width) {itsWidth= width;}
int GetWidth( ) const { return itsWidth;}
private:
int itsLength;
int itsWidth;
}
Turtburchak::Turtburchak()
{
itsWidth = 5;
itsLength = 10;
}
Turtburchak:: ~Turtburchak()
{ }
int main()
{
Turtburchak theRect;
cout<<“theRect is”<cout<<“theRect is”<TheRect.SetLength(20);
TheRect.SetWidth(10);
cout<<“theRect is”<cout<<“theRect is”<return 0;
НАТИЖА:
The Rect is 10 meters long
The Rect is 5 meters wide
The Rect is 20 meters long
The Rect is 10 meters wide

ТАҲЛИЛ
SetLength() ва GetLength() функцияларида Turtburchak синфининг ўзгарувчисига мурожаат қилишда this кўрсаткичи ошкор кўринишда қўлланилади. SetWidth() ва GetWidth() функцияларида эса бундай мурожаат ошкормас кўринишда амалга оширилади. Синтаксисдаги фарқларга қарамасдан иккала операция ҳам бир хилдир.


Аслида this кўрсаткичининг роли бу ерда кўрсатилганига нисбатан муҳимроқдир. this ўзгарувчиси кўрсаткичдир ва у жорий объектнинг адресини ўзида сақлайди. Бу ҳолда у етарлича кучли инструмент вазифасини бажариши мумкин.
10– мавзуда операторларнинг перегрузкасига оид муаммолар муҳокама қилинишида this кўрсаткичининг қўлланилишининг реал мисоллари келтирилади. Бу ўринда эса this – ўзи ишлатилаётган объектнинг адресини сақловчи кўрсаткичдир.
this кўрсаткичи учун хотира ажратилиши ёки унинг бўшатилиши дастурий йўл билан амалга оширилмайди.



Download 3.45 Mb.

Do'stlaringiz bilan baham:
1   ...   61   62   63   64   65   66   67   68   ...   79




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling