Possible Duplicate:
What are Virtual Methods?
In C#, even if you don't declare the base class method as virtual, compiler always calls the latest derived class method when the method signature matches. Without the virtual keyword we just get on warning message stating the derived method will be called(now that can be removed by using new keyword).
What is the use of declaring the method as virtual when without this keyword also the method in the last derived class is called when the signature matches.
I am not understanding something here. Is "virtual" for code readability purpose? Smith