Función virtual pura en C ++

Función virtual pura en C ++
Una función virtual pura en el lenguaje de programación de C ++ es un concepto ampliamente conocido en la herencia de C ++. Esta función virtual se puede usar en la clase abstracta. Solo se puede establecer en la clase abstracta, y no se puede definir. El valor de la declaración para la función virtual pura es 0. Por lo tanto, este artículo se implementa para determinar cómo se puede establecer la función virtual pura en la clase base y definirse en la clase derivada.

Nota: El sistema operativo utilizado en este tutorial es Ubuntu 20.04. Puede usar otras distribuciones de Linux o sistemas de Windows. El compilador G ++ se ha utilizado para la implementación de ejemplos.

Ejemplo 01

Estamos comenzando con un ejemplo simple para ilustrar el trabajo y la estructura general de una función virtual pura en la clase abstracta C ++. Tienes que saber que una clase abstracta no ocupa ningún objeto, yo.mi., no instanciado. Sin embargo, podemos usar punteros o referencias para acceder a esta clase y sus funciones. Entonces, cree un nuevo archivo C ++ con la ayuda del "tocarConsulta y abre con un editor, como Nano Editor.

$ touch puro.CC
$ nano puro.CC

Cada código C ++ comienza con el encabezado de flujo de entrada-salida incluido en él. El estándar del espacio de nombres debe declararse después de eso. Se ha inicializado una clase abstracta llamada "Parent". Contiene una sola declaración de función virtual pura llamada "espectáculo()". Esta función pura se ha inicializado con 0. La clase derivada llamada "Niño"Ha sido inicializado. Esta clase infantil ha estado accediendo a la clase principal mientras la usa como interfaz. La clase infantil contiene la definición de un método show (). El método show () ha estado mostrando algún texto con el "cout"Cláusula. Aquí viene el método principal (). Todo el trabajo debe comenzar desde aquí:

Al comienzo de un método main (), el puntero de la clase principal "*pag" Ha sido creado. Como la clase principal es abstracta, no podemos crear su objeto. La clase infantil ha sido iniciada con el objeto "C". El puntero "*pag"De la clase principal ha estado accediendo a la dirección del objeto de clase infantil"C". Entonces el puntero "*pag"Está llamando a la función virtual pura"espectáculo()"Por una referencia. Después de guardar el código virtual C ++ Pure, compile con el paquete del compilador G ++. No se han encontrado errores hasta ahora. Después de ejecutar el archivo, tenemos la siguiente salida:

$ g ++ puro.CC
ps ./a.afuera

El resultado de esta ilustración se puede analizar en la imagen adjunta arriba.

Ejemplo 02

Veamos otro ejemplo de usar una función virtual pura en C++. Haremos algunos cálculos matemáticos en el método virtual puro. Entonces, comience abriendo el mismo archivo y modifíquelo un poco. Agregue el paquete de encabezado de la transmisión de entrada-salida y use el espacio de nombres estándar en el código, también. Hemos declarado una clase abstracta llamada "Resultado"Después del espacio de nombres. Esta clase contiene una variable de tipo entero protegida llamada "puntaje"Solía ​​obtener marcas del usuario.

Se ha definido un método de tipo público simple en la clase abstracta llamada "getScore ()". El "cout"La cláusula en este método requiere que el usuario ingrese alguna puntuación. Las funciones obtendrían las marcas del usuario como entrada a través del "cinta"Cláusula. Entonces, la función virtual pura "porcentaje()"Se declara a 0 aquí. La clase derivada "Estado"Se define para obtener el porcentaje del estudiante accediendo a la clase de los padres como interfaz. El "estado" de la clase infantil contiene la definición de un método virtual puro "porcentaje()" en eso:

El porcentaje de función virtual pura () está calculando el porcentaje de marcas de estudiantes. Este porcentaje se encuentra con la ayuda de una fórmula porcentual utilizando las marcas de un estudiante. Las marcas han sido obtenidas por la variable "puntaje"Tener marcas ingresadas por el usuario. La función Main () contiene la creación de objetos de la clase infantil. Este objeto se usa para llamar al método getScore () para adquirir marcas del usuario. El mismo objeto se usa para llamar a la función porcentual () para calcular el porcentaje de marcas ingresadas por el usuario.

Guardemos el código primero y salgamos del archivo usando "Ctrl+S" y "Ctrl+S", Respectivamente.

Después de volver al terminal, compile primero el código con el paquete del compilador G ++. Después de eso, ejecute el archivo con el "a.afuera" consulta. Le solicitará que ingrese sus marcas. Hemos agregado tres marcas diferentes en cada ejecución y obtuvimos tres porcentajes diferentes cada vez.

$ g ++ puro.CC
ps ./a.afuera

El resultado de esta ilustración se puede analizar en la imagen adjunta arriba.

Conclusión

Finalmente, hemos utilizado los ejemplos de usar una función virtual pura en la clase abstracta C ++. Hemos utilizado clases abstractas y derivadas para ilustrar el concepto de función virtual pura. Según la información proporcionada, creemos que será fácil para usted trabajar en funciones virtuales puras a partir de ahora. Gracias por leer este artículo y consulte los otros artículos proporcionados por Linuxhint.comunicarse.