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