Pointer to Classes
A pointer to a C++ class is done exactly the same way as a pointer to a structure and to access members of a pointer to a class you use the member access operator -> operator, just as you do with pointers to structures. Also as with all pointers, you must initialize the pointer before using it.
Example of Pointer to Classes
Let us try the following example to understand the concept of pointer to a class −
#include <iostream>usingnamespace std;classBox{public:// Constructor definitionBox(double l =2.0,double b =2.0,double h =2.0){
cout <<"Constructor called."<< endl;
length = l;
breadth = b;
height = h;}doubleVolume(){return length * breadth * height;}private:double length;// Length of a boxdouble breadth;// Breadth of a boxdouble height;// Height of a box};intmain(void){
Box Box1(3.3,1.2,1.5);// Declare box1
Box Box2(8.5,6.0,2.0);// Declare box2
Box *ptrBox;// Declare pointer to a class.// Save the address of first object
ptrBox =&Box1;// Now try to access a member using member access operator
cout <<"Volume of Box1: "<< ptrBox->Volume()<< endl;// Save the address of second object
ptrBox =&Box2;// Now try to access a member using member access operator
cout <<"Volume of Box2: "<< ptrBox->Volume()<< endl;return0;}
When the above code is compiled and executed, it produces the following result −
Constructor called. Constructor called. Volume of Box1: 5.94 Volume of Box2: 102
Leave a Reply