i have a question about pure virtual method in the abstract class, like virtualvoid print() = 0;. if i have a subclass of this abstract class, in the class declaration, do i need to write 'virtual' specifier again? I think there is no need, since once a method is virtual, then the method with the same function signature in all the subclasses should be virtual, too.