Explicación de la anulación de funciones en C++

Publicado: 2022-11-09

Tabla de contenido

¿Qué es una función?

Una función es una pieza que pertenece a un código para ejecutar una tarea estipulada en un programa. Es importante tener conocimiento de primera mano sobre la herencia para aprender la función que anula la implementación de la herencia es un mandato para esta función. Una función de C++ es una colección de sentencias agrupadas para ejecutar una tarea. Todos los programas tienen una función main() y los programas particulares tienen funciones añadidas. La declaración de la función envía el nombre de la función, el tipo de devolución y los parámetros al compilador para determinar el cuerpo de la función mediante la definición de la función. Una función puede ser un procedimiento, un método o una subrutina, y todas las funciones de C++ constan de un encabezado y un cuerpo.

Sintaxis de una función de C++: -

return_type function_name(lista de parámetros) {

cuerpo funcional

}

Componentes :-

  • Tipo de devolución : indica el tipo de valor de devolución de la función.
  • Nombre de la función : representa el nombre de la función que constituye la firma de la función y la lista de parámetros.
  • Parámetros : este es un marcador de posición para el valor que devuelve la función. Cuando se llama a una función, el valor pasado al parámetro se conoce como el parámetro real.
  • Cuerpo de la función : el cuerpo de la función comprende la lista de declaraciones que definen la tarea de la función.

Cómo llamar a una función

Una función debe invocarse o llamarse antes de su uso, después de lo cual se le transfiere el control para realizar la tarea necesaria. La declaración de retorno devuelve el control al programa principal después de esto. Los parámetros y el nombre de la función deben pasar para llamar a una función. Los argumentos se pueden pasar a una función de varias maneras al llamarla. Los tipos de llamadas son los siguientes: -

  • Llamada por valor
  • Llamada por referencia
  • Llamada por puntero

Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga Programas PG Ejecutivos, Programas de Certificado Avanzado o Programas de Maestría para acelerar su carrera.

Anulación de funciones en C++

La anulación de C++ es una idea a través de la cual se define una función con el mismo nombre. La función de la clase base en la anulación se redefine dentro de la clase derivada, que anula la función de la clase base. La implementación del polimorfismo en tiempo de ejecución también se puede definir como anulación de funciones. Aquí, el tiempo de ejecución del programa anula la función.

La anulación de funciones permite a los programadores usar una función en la clase secundaria que se encuentra en su clase principal. Como resultado, la clase secundaria hereda cada miembro de datos y las funciones de miembro que se encuentran en la clase principal. Para anular cualquier funcionalidad de clase secundaria, debe implementar la anulación de funciones. La anulación de funciones se refiere a crear una nueva versión de la función de la clase principal dentro de la clase secundaria.

Sintaxis para implementar la anulación de funciones en C++

Cuando se llama a la misma función definida tanto en la clase basada como en la derivada usando el objeto de la clase derivada, ejecuta la función de la clase derivada. Esta es la anulación de funciones en C++.

A continuación se muestra la sintaxis más utilizada para la implementación de la función de anulación en C++:

// Programa en C++ para demostrar la anulación de funciones

#incluir <iostream>

utilizando el espacio de nombres estándar;

base de clase {

público:

impresión vacía () {

cout << “Función base” << endl;

}

};

clase derivada: base pública {

público:

impresión vacía () {

cout << “Función Derivada” << endl;

}

};

int principal() {

Derivado derivado1;

derivado1.print();

devolver 0;

}

Producción

Función derivada

Esto redefine la función de la clase base dentro de la clase derivada. Por lo tanto, el tipo de retorno, los parámetros_de_función y el nombre_de_función deben ser los mismos para lograr la anulación de la función.

Cursos y artículos populares sobre ingeniería de software

Programas Populares
Programa PG Ejecutivo en Desarrollo de Software - IIIT B Programa de Certificación Blockchain - PURDUE Programa de Certificado de Ciberseguridad - PURDUE MSC en Ciencias de la Computación - IIIT B
Otros artículos populares
Salario de ingeniero de nube en los EE. UU. 2021-22 Salario del arquitecto de soluciones de AWS en EE. UU. Salario de desarrollador de backend en los EE. UU. Salario de desarrollador front-end en EE. UU.
Salario de desarrollador web en EE. UU. Preguntas de la entrevista de Scrum Master en 2022 ¿Cómo iniciar una carrera en seguridad cibernética en 2022? Opciones de carrera en los EE. UU. para estudiantes de ingeniería

Cómo funciona la anulación de funciones en C++

Los OOP deben permitir que las clases derivadas hereden las características de la clase principal. La anulación de funciones permite a los programadores anular cualquier funcionalidad dentro de una clase en una clase derivada específica. Esto es especialmente útil cuando una clase secundaria necesita su variante de funcionalidad.

Abajo hay un ejemplo simple de anulación de función en C++ para su mejor comprensión:

#incluir <iostream>

utilizando el espacio de nombres estándar;

clase padre_clase

{

público:

impresión de vacío virtual ()

{

cout << “\nEste es el método print()”

” de ClaseBase”;

}

};

clase clase_derivada: clase_padre pública

{

público:

// Anulación de funciones: nueva definición de

// método de impresión de la clase base

impresión nula()

{

cout << “\nEste es el método print()”

“de la Clase Derivada”;

}

};

// Código del controlador

int principal()

{

clase_derivada obj;

obj.print();

}

Acceder a la función anulada en C++

El operador de resolución de alcance se usa para acceder a la función anulada de la clase base en C++. También se puede acceder a la función anulada mediante el uso de un puntero de clase base para apuntar a un objeto de la clase derivada y luego llamar a la función desde el puntero.

// programa C++ para acceder a la función anulada

// en main() usando el operador de resolución de alcance ::

#incluir <iostream>

utilizando el espacio de nombres estándar;

base de clase {

público:

impresión vacía () {

cout << “Función base” << endl;

}

};

clase derivada: base pública {

público:

impresión vacía () {

cout << “Función Derivada” << endl;

}

};

int principal() {

Derivado derivado1, derivado2;

derivado1.print();

// acceder a la función print() de la clase Base

derivado2.Base::print();

devolver 0;

}

Producción

Función derivada

función básica

La declaración en la sintaxis; derivado2.Base::print(); da acceso a la función print() de la clase Base.

Llamar a la función anulada de la clase derivada

Puede usar la herencia para cambiar el comportamiento de una función. Sin embargo, a veces, no es necesario cambiar o reemplazar la funcionalidad de la clase base/principal. En su lugar, se debe agregar más funcionalidad.

A continuación se muestra un ejemplo del uso de la función anulada de llamada de una clase derivada.

// programa C++ para llamar a la función anulada

// de una función miembro de la clase derivada

#incluir <iostream>

utilizando el espacio de nombres estándar;

base de clase {

público:

impresión vacía () {

cout << “Función base” << endl;

}

};

clase derivada: base pública {

público:

impresión vacía () {

cout << “Función Derivada” << endl;

// llamar a la función anulada

Base::imprimir();

}

};

int principal() {

Derivado derivado1;

derivado1.print();

devolver 0;

}

Producción

Función derivada

función base

En este programa, la función anulada se ha llamado dentro de la clase Derivada.

clase derivada: base pública {

público:

impresión vacía () {

cout << “Función Derivada” << endl;

Base::imprimir();

}

};

El código Base::print();, llama a la función anulada dentro de la clase Derivada.

Sobrecarga de funciones frente a anulación de funciones

Puede lograr la sobrecarga de funciones en tiempo de compilación, generalmente dentro de las clases base y derivadas. Proporciona más de una definición de función alterando la firma de cada función, como el tipo de datos o el tipo de retorno de los parámetros.

La anulación de funciones, por otro lado, se puede lograr en tiempo de ejecución. La clase base en la anulación se redefine en la clase derivada con los mismos parámetros y el mismo tipo de devolución. Averigüemos qué otras características hacen que estas dos funciones sean diferentes.

Primordial Sobrecarga
Herencia Requiere herencia de clase No requiere herencia de clase.
Función Firma Difiere en la firma ya sea en el tipo o el número de parámetros. Las firmas de funciones permanecen igual
Alcance de la función Las funciones difieren en alcance Posee el mismo alcance
Comportamiento de la función Obligatorio cuando una función de clase derivada se ejecuta de manera diferente o con funcionalidad añadida que la función de clase base. Requerido cuando las funciones que llevan el mismo nombre tienen diferentes comportamientos en función de los parámetros dados.

Conclusión

La anulación de funciones en C++ ayuda a ahorrar espacio en la memoria y a mantener la legibilidad y la coherencia de cualquier código. También ayuda a hacer que el código sea reutilizable fácilmente. No hace falta decir que el conocimiento sobre la anulación de funciones es una habilidad importante que debe poseer si ve un futuro para usted en la programación.

Si desea unirse a un curso confiable y premium para impulsar su carrera en este campo, puede inscribirse en la Maestría en Ciencias de la Computación de upGrad en upGrad. Algunos de los aspectos más destacados de este programa son los siguientes: -

  • Aprende MERN Stack, Microservicios, JavaScript, etc.
  • Aprendizaje integral en Cloud Labs
  • Experimente con las herramientas utilizadas en Netflix, LinkedIn, Facebook, etc.
  • Hágase experto en más de 10 herramientas y lenguajes de programación
  • Apoyo estudiantil 24/7

¿Cómo ocurre la anulación de funciones?

La anulación de la función C++ ocurre a través de la herencia, es decir, cuando una clase hereda otra clase. Cuando la clase derivada y la clase base poseen funciones miembro que tienen el mismo tipo de valor devuelto, nombre y lista de argumentos, se denomina sobreescritura de funciones.

¿Cuál es la diferencia entre la sobrecarga de funciones y la anulación de funciones en C++?

La anulación de funciones ocurre cuando las funciones poseen el mismo prototipo en las clases base y derivadas. La sobrecarga de funciones se realiza cuando existe más de una función con un nombre similar en una clase.

¿Cuáles son las características de la sobrecarga de funciones en C++?

La sobrecarga de funciones en C++ se usa principalmente para mejorar la legibilidad del código. Los programadores lo usan para no tener que memorizar numerosos nombres de funciones. Las clases con múltiples funciones, diferentes parámetros y el mismo nombre se denominan sobrecargadas.