I want to create a parent class vector and push child objects to that vector. Also, I want to the child object's functions from this vector. My demo is like that:
#include <iostream>
#include <vector>
class A
{
public:
virtual void print() { std::cout << "A"; }
};
class B: public A
{
public:
void print() override { std::cout << "B"; }
};
class C: public A
{
public:
void print() override { std::cout << "C"; }
};
int main()
{
std::vector<A> list;
B obj1;
list.push_back(obj1);
C obj2;
list.push_back(obj2);
for(int i=0; i<list.size(); i++)
list[i].print();
//Expected output: BC
return 0;
}