Categorías
C/C++

Un ejemplo simple de palabra clave virtual de C ++

La palabra clave virtual determina si una función miembro de una clase puede anularse en sus clases derivadas. Aquí hay un ejemplo simple para mostrar esto.

#include <iostream>
using namespace std;
 
class Car // Base class for C++ virtual function example
{
public:
	virtual void Create() // virtual function for C++ virtual function example
	{
		cout << "Parent class: Carn";
	}
};
 
class Sedan: public Car {
public:
	void Create() {
		cout << "Derived class: Sedan - Overridden C++ virtual function";
	}
};
 
int main() {
	Car *x, *y;
 
	x = new Car();
	x->Create();
 
	y = new Sedan();
	y->Create();
}

Esto se produce como resultado de:

Clase para padres: Coche
Clase derivada: Sedan – Función virtual de C ++ anulada

Simplemente eliminando la palabra clave «virtual», el resultado sería:

Clase para padres: Coche
Clase para padres: Coche

Las funciones miembro no virtuales se resuelven en el momento de la compilación y se denomina enlace estático. Sin embargo, las funciones de miembros virtuales de c ++ se resuelven durante el tiempo de ejecución y se llaman como enlace dinámico.

Esto es diferente con Java. Aquí es una publicación sobre la comparación de Java y C ++.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

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