اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

اشاره‌گر this چیست؟

0 امتیاز
2,497 نمایش
در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پرسیده شده شنبه ۲۳ دی ۱۳۹۱ در C++ توسط برنامه‌نویس  
بازتگ شده پنجشنبه ۲۹ فروردین ۱۳۹۲ توسط admin

1 پاسخ

0 امتیاز

اصولا به توابعی که توسط شیء ای از کلاس فراخوانی شده، یک اشاره‌گر به اون شیء (که تابع توسط اون فراخوانی میشه) هم بطور ضمنی فرستاده میشه.
این اشاره‌گر this در واقع آدرس اون شیء در خودش داره.
و در تابع ازش استفاه‌های مختلفی میشه که به غیر از استفاده از this جور دیگه‌ای نمیشه بعضی کارها رو انجام داد، مثال زیر:

#include<iostream.h>
#include<conio.h>
class pwr{
   double b;
   int e;
   double val;
  public:
   pwr(){val=1;}
   void input();
   void power();
   double get_pwr() { return val;}
};
//*********************************
void pwr::input()
{
  cout<<"enter base, power:";
  cin>>b>>e;
}
//*********************************
void pwr::power()
{
  for(;e>0;e--)
    this -> val=this -> val * this -> b;
}
//*********************************
int main()
{
  clrscr();
  pwr x;
  x.input();
  x.power();
  cout<<"power="<<x.get_pwr()<<" ";
  getch();
  return 0;
}
پاسخ داده شده شنبه ۷ بهمن ۱۳۹۱ توسط CPP_Crawler5