Junior — Middle
¿Cuáles son las ventajas y desventajas de usar tablas virtuales?
sobes.tech AI
Respuesta de la IA
Las tablas virtuales (vtable) son un mecanismo en programación orientada a objetos que se utiliza para implementar el polimorfismo dinámico (funciones virtuales).
Ventajas:
- Permiten llamar a métodos de clases derivadas a través de un puntero o referencia a la clase base.
- Ofrecen flexibilidad y extensibilidad del código.
- Simplifican el mantenimiento y la adición de nuevas clases sin modificar el código existente.
Desventajas:
- Pequeña disminución del rendimiento debido a un nivel adicional de llamada indirecta a funciones.
- Aumento del tamaño del objeto debido al puntero a la tabla virtual.
- Complejidad en la implementación y comprensión para los principiantes.
Ejemplo en C++:
class Base {
public:
virtual void foo() { std::cout << "Base" << std::endl; }
};
class Derived : public Base {
public:
void foo() override { std::cout << "Derived" << std::endl; }
};
Base* b = new Derived();
b->foo(); // Llamará a Derived::foo gracias a la vtable