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;
}
 
    