Función C ++ anular

Función C ++ anular
En este artículo, cubriremos la función de la función en el lenguaje de programación C ++. C ++ admite el polimorfismo de tiempo de ejecución. En la anulación de la función, la clase infantil redefine la función que ya está definida en su clase principal. Permite al programador proporcionar una funcionalidad específica de clase derivada (aunque se define en la clase base). Ahora, veremos algunos ejemplos y comprenderemos el concepto de anulación de la función en C++.

Ejemplo 1

He definido dos clases en el siguiente código de ejemplo: una clase base y una clase derivada. La clase base tiene una función miembro, yo.mi., disp (). El "derivado_class" se hereda del "base_class."La función" disp () "está presente en" base_class "y luego se redefine en el" derivado_class."

En la función main (), un objeto de derivado_class, i.mi., "D", se crea. Luego, llamamos a la función disp () en el objeto de clase derivada, por lo que se invocará la función en la clase derivada. La versión de clase base se ignora aquí. Puede ver a continuación la salida como - "disp () función en la clase derivada."

#incluir
usando el espacio de nombres STD;
// clase base
clase base_class

público:
vacío disp ()

cout << "disp() function in base class." << endl;

;
//clase derivada
Clase Derived_class: public base_class

público:
vacío disp ()

cout << "disp() function in derived class" << endl;

;
int main ()

Derivado_class d;
d.disp (); // disp () función en objeto de clase derivada
regresar 0;

Ejemplo-2

En este ejemplo, veremos cómo llamar deliberadamente a la versión de clase base de la función a través del objeto de clase derivado. En la definición de función de clase derivada, usamos el operador de resolución de alcance [::] para llamar a la versión de clase base de la función.

#incluir
usando el espacio de nombres STD;
clase base_class

público:
vacío disp ()

cout << "disp() function in base class." << endl;

;
Clase Derived_class: public base_class

público:
vacío disp ()

Base_class :: disp (); // llame a la versión de clase base de disp ()

;
int main ()

Derivado_class d;
d.disp ();
regresar 0;

Ejemplo-3

Este es otro ejemplo de función de función. En este ejemplo, hemos creado una clase de padres, animales y dos clases derivadas: pato y perro. La clase base, yo.mi., La clase Animal tiene un sonido de función miembro ().

En la clase derivada/clase infantil, yo.mi., Perro, hemos redefinido la misma función, yo.mi., sonido (), para anular su definición de clase base. Del mismo modo, en la otra clase derivada, yo.mi., Pato, hemos redefinido la misma función, yo.mi., sonido().

En la función main (), hemos creado el objeto "perro" de "perro" y "pato" de "pato."Entonces, ahora, cuando llamamos a la función Sound () para perro y pato, la versión de clase derivada de la función Sound () llamará. Puede ver la salida del programa como se muestra a continuación. Entonces, con la ayuda de la función anular, podemos invocar la función específica de clase derivada.

#incluir
usando el espacio de nombres STD;
animal de clase

público:
sonido vacío ()

cout << "Animal sound!" << endl;

;
// Clase derivada - Clase de perros
Class Dog: Public Animal

público:
sonido vacío ()

cout << "Dog sound - bark." << endl;

;
// Clase derivada - Clase de pato
Class Duck: Animal público

público:
sonido vacío ()

cout << "Duck sound - quack." << endl;

;
int main ()

Perro perro;
Pato de pato;
perro.sonido(); // sonido () de perro
pato.sonido(); // sonido () de pato
regresar 0;

Conclusión

En este artículo, he explicado la función de la función en C++. El lenguaje C ++ admite el polimorfismo de tiempo de ejecución. La anulación de la función ayuda a lograr el polimorfismo del tiempo de ejecución en C++. Este artículo analizó el concepto de anulación de funciones y cómo lograr el polimorfismo de tiempo de ejecución utilizando la función de la función.