During multiple inheritance base class pointer object can point any reference of derived class object also derived class pointer object can point any reference of base class object. code example
Example: 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;
srand(time(NULL));
for (int i = 0; i < 10; ++i) {
int child = rand() % 2;
if (child)
parents.push_back(new Child);
else
parents.push_back(new DifferentChild);
}
for (const auto& child : parents) {
child->sayHi();
}
return 0;
}