I am running into an issue where an overloaded function is not called, and the base function is called instead. I suspect this is related to how things are split between the pr
You should declare print() as virtual to calling obj2::print() for obj2 objects.
print()
virtual void print();