cpp create pointer to object code example

Example 1: pointers to pointers in cpp

#include <iostream>
 
using namespace std;
 
int main () {
   int  var;
   int  *ptr;
   int  **pptr;

   var = 3000;

   // take the address of var
   ptr = &var;

   // take the address of ptr using address of operator &
   pptr = &ptr;

   // take the value using pptr
   cout << "Value of var :" << var << endl;
   cout << "Value available at *ptr :" << *ptr << endl;
   cout << "Value available at **pptr :" << **pptr << endl;

   return 0;
}

Example 2: C++ pointer to base class

#include <cstdlib>
#include <ctime>
#include <iostream>
#include <vector>

class Parent {
public:
    virtual void sayHi()
    {
        std::cout << "Parent here!" << std::endl;
    }
};

class Child : public Parent {
public:
    void sayHi()
    {
        std::cout << "Child here!" << std::endl;
    }
};

class DifferentChild : public Parent {
public:
    void sayHi()
    {
        std::cout << "DifferentChild here!" << std::endl;
    }
};

int main()
{
    std::vector<Parent*> parents;

    // Add 10 random children
    srand(time(NULL));
    for (int i = 0; i < 10; ++i) {
        int child = rand() % 2; // random number 0-1
        if (child) // 1
            parents.push_back(new Child);
        else
            parents.push_back(new DifferentChild);
    }

    // Call sayHi() for each type! (example of polymorphism)
    for (const auto& child : parents) {
        child->sayHi();
    }

    return 0;
}

Tags:

Cpp Example