I am creating a base class in my testbench.
The base class contains a bunch of functions to utility function processing.
For of the function I know for sure have to be overridden in the derived classes.
I have made these functions as virtual.
For some functions, I am not sure if user will need to override them in the derived class but I would like to keep an option for designers of derived class to override if required just as an option to extend. So, I am thinking of declaring such functions also as virtual.
The question is, whether there is any downside of declaring a function virtual except that such function will be subject to late binding?