در این جلسه به بررسی اشارهگر 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
در جلسه بعدی آموزش ++C با ما همراه باشید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.