I have been trying to make an equation solver,
so here is what my structure is like
Class A {
    virtual void someMethod(double time){
        // doing something here
    }
};
Class B:public A{
    virtual void someMethod(double time)
        // doing something more here
    }
};
Class C:public B{
    virtual void someMethod(double time)
        // doing something more more here
    }
};
Class D:public C{
    virtual void someMethod(double time)
        // doing something more more more here
    }
};
Class Solver {
    void static solve(A obj, double time){
      obj.someMethod(); 
    }
};
When I call Solver::solve for Class C instance, it calls method defined for Class A instance instead of calling function defined for Class C itself.. How do I tackle that?
 
     
     
    