4.5. What's this?

Class objects maintain their own state variables. However, only one copy of a member function exists for all objects of the same class. How does a member function access the state variables of the object that calls it? A special pointer, called the this pointer, exists for this purpose. Let's examine in detail how a member function call works.

The following statements instantiate a File object and call member function getfp().

File g("test2", "w");                   // create File object 
FILE *handle = g.getfp();               // get handle to File object

Member function implementations are compiler dependent, but most C++ compilers use a name-mangling technique to generate unique function names from class and member function names. Name-mangling allows ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.