Diferencia entre función virtual y función en línea en C++

Función virtual: la función virtual es una función miembro que se declara dentro de una clase base y se redefine mediante una clase derivada.

Función en línea: la función en línea es una función normal definida por la palabra clave en línea, es una función corta que el compilador expande y sus argumentos se evalúan solo una vez.

La sintaxis para definir la función en línea en C++ es:

inline return-type function-name(parameters)
{
    // function code
} 

La diferencia entre la función virtual y la función en línea es la siguiente:

función virtual

función en línea

1. La función virtual debe declararse en la sección pública de la clase. 1. La función en línea es una función normal definida por la palabra clave en línea.
2. La función virtual no puede ser estática. 2. La función en línea también puede ser no estática.
3. La función virtual se define en la clase base. 3. La función en línea son las funciones de longitud corta que se convierten automáticamente en funciones en línea sin usar la palabra clave en línea dentro de la clase.
4. La función virtual disminuye la eficiencia del código. 4. La función en línea se utiliza para aumentar la eficiencia del código.
5. La función virtual es ejecutar el polimorfismo en tiempo. 5. La función en línea es compilar polimorfismo de tiempo.
6. La función virtual puede consistir en un destructor virtual pero no puede tener un constructor virtual.  6. La función en línea también puede consistir en un constructor en línea.
7. Virtual puede usarse para enlaces dinámicos. 7. La función en línea se utiliza para reducir la sobrecarga de la llamada de función.

Publicación traducida automáticamente

Artículo escrito por anuragtarang60 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *