Home | | Programming and Data Structure II | Role of this Pointer

Chapter: Programming and Data structures : Object Oriented Programming Fundamentals

Role of this Pointer

Every object in C++ has access to its own address through an important pointer called this pointer. The this pointer is an implicit parameter to all member functions. Therefore, inside a member function, this may be used to refer to the invoking object.

ROLE OF This POINTER:

 

Every object in C++ has access to its own address through an important pointer called this pointer. The this pointer is an implicit parameter to all member functions. Therefore, inside a member function, this may be used to refer to the invoking object.

 

Friend functions do not have a this pointer, because friends are not members of a class. Only member functions have a this pointer.

 

 

Example:

 

#include <iostream.h>

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;

 

}

 

 

When the above code is compiled and executed, it produces the following result: Constructor called.

 

Constructor called.

 

Box2 is equal to or larger than Box1


Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Programming and Data structures : Object Oriented Programming Fundamentals : Role of this Pointer |


Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.