1. A palavra-chave virtual pode declarar uma função de classe base como um método virtual. público virtualvoid meuVirtualMethod(){}
2. Você também pode declarar o atributo como virtual
public virtual int iCount {obter conjunto;
3. Funções virtuais podem ser substituídas em classes derivadas. Use a substituição de palavra-chave.
4. Em Java, todas as funções são virtuais, mas C# é diferente, exceto para construtores, as funções em C# não são virtuais por padrão, e C# requer que a chave de substituição seja usada ao reescrever funções em classes derivadas, instrução de exibição.
5. O benefício da declaração explícita de substituição é que se o nome do método da classe derivada for inadvertidamente ligeiramente diferente da classe base, o C++ ignorará o problema, mas em C# ocorrerá um erro de compilação porque a função foi marcada como substituição.
-