OOPortal OOPortal

C++ Class Construct  «Prev  Next»
Lesson 9The this pointer in C++
ObjectiveUse this pointer to print out the location

this pointer in C++

Use the C++ this pointer to print out the location of all its variables. The keyword this denotes an implicitly declared self-referential pointer.
A this pointer can be used only in a nonstatic member function and cannot be modified. Here is an example of a simple illustration of its use:

#include <iostream.h>
//The this pointer
class c_pair {
public: void init(char b) {
  c2 = 1 + (c1 = b);
 c_pair increment() {
  return (*this); 
 c_pair*  where_am_I() {
  return this;
 void  print() {
  cout << c1 << c2 << '\t'; 
 private: char  c1, c2;

int main(){
 c_pair  a, b;
 cout << " is at " << a.where_am_I() << endl;
 cout << " is at " << b.where_am_I() << endl;

The member function increment uses the implicitly provided pointer this to return the newly incremented value of both c1 and c2. The member function where_am_I returns the address of the given object. The this keyword provides for a built-in self-referential pointer. It is as if c_pair implicitly declared the private member c_pair* const this.

Variable Memory Allocation -Exercise

Click the Exercise link below to modify the example program so it prints out the location of all its variables.
Variable Memory Allocation - Exercise