Sobes.tech
Junior — Middle

Explique o conceito de tabela virtual e o seu papel na implementação do polimorfismo na programação orientada a objetos.

sobes.tech IA

Resposta da IA

A tabela virtual (vtable) é uma estrutura de dados usada em linguagens de programação orientadas a objetos para suportar o polimorfismo dinâmico (em tempo de execução). Ela contém ponteiros para funções (métodos) que podem ser sobrescritos em classes derivadas.

Quando um objeto chama um método virtual, o programa, através da vtable, determina qual implementação do método chamar — a da classe base ou a sobrescrita na classe derivada. Isso permite usar uma mesma interface para diferentes tipos de objetos, garantindo flexibilidade e extensibilidade do código.

Exemplo: se houver uma classe base Animal com um método virtual sound(), e as classes Dog e Cat sobrescrevem esse método, então ao chamar sound() através de um ponteiro para Animal, será chamado o método correspondente da subclasse graças à vtable.