مهندس موفق الکترونیک

اشاره‌گر this در ++C

در این جلسه به بررسی اشاره‌گر this در ++C میپردازیم. هر شی در ++C از طریق یک اشاره‌گر مهم به نام this، به آدرس خودش دسترسی دارد. اشاره‌گر this یک پارامتر ضمنی برای همه توابع عضو شی می‌باشد. بنابراین، درون یک تابع عضو، از this برای اشاره  به شی می‌توان استفاده کرد.

توابع دوست، اشاره‌گر this ندارند، زیرا این توابع، عضو کلاس محسوب نمی‌شوند، تنها توابع عضو هستند که دارای اشاره‌گر this می‌باشند.

مثال زیر را برای درک بهتر مفهوم اشاره‌گر this مشاهده کنید.

#include <iostream>
 
using namespace std;

class Box {
   public:
      // Constructor definition
      Box(double l = 2.0, double b = 2.0, double h = 2.0) {
         cout <<"Constructor called." << endl;
         length = l;
         breadth = b;
         height = h;
      }
      double Volume() {
         return length * breadth * height;
      }
      int compare(Box box) {
         return this->Volume() > box.Volume();
      }
      
   private:
      double length;     // Length of a box
      double breadth;    // Breadth of a box
      double height;     // Height of a box
};

int main(void) {
   Box Box1(3.3, 1.2, 1.5);    // Declare box1
   Box Box2(8.5, 6.0, 2.0);    // Declare box2

   if(Box1.compare(Box2)) {
      cout << "Box2 is smaller than Box1" <<endl;
   } else {
      cout << "Box2 is equal to or larger than Box1" <<endl;
   }
   
   return 0;
}

با اجرای این کد، خروجی زیر حاصل می‌شود.

Constructor called.
Constructor called.
Box2 is equal to or larger than Box1

منبع: ترجمه از سایت tutorialspoint.com

مطلب پیشنهادی:  انتزاع داده (Data Abstraction) در ++C

در جلسه بعدی آموزش ++C با ما همراه باشید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *