¿Cómo implementar la sobrecarga y anulación de funciones en C ++?



Este artículo le presentará la sobrecarga y anulación de funciones en C ++, que son dos de los conceptos más importantes de OOPS.

C ++ es un en la naturaleza y cuenta con varias características. En esta sesión discutiremos cómo implementar la sobrecarga de funciones y la anulación de funciones en C ++.

Los siguientes consejos se cubrirán en este artículo,





Continuando con este artículo sobre sobrecarga y anulación de funciones en C ++

Sobrecarga de funciones



Las funciones que tienen el mismo nombre pero diferentes parámetros están permitidas en C ++ y se llaman Sobrecarga de funciones . También se denomina polimorfismo en tiempo de compilación.

Por ejemplo:

suma (int a, float b) suma (int a, int b) suma (int a, int b, int c)

Aquí hay tres funciones con el mismo nombre pero lo único que las diferencia es que los parámetros son diferentes en cada una. Entonces, dependiendo de los parámetros pasados, se llama a una función.



Si los tipos de retorno de las funciones son diferentes, se considera inválido.

Continuando con este artículo sobre sobrecarga y anulación de funciones en C ++

Código de muestra para función sobre carga

incluir usando el espacio de nombres std class Addition {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Addition un cout< 

Salida

Salida: sobrecarga y anulación de funciones en C ++ - Edureka

Explicación

En el programa anterior, tenemos dos funciones en la clase de suma. Ambos nombrados agregar. Uno tiene 2 parámetros y el otro tiene 3 parámetros.

En la función principal, creamos un objeto de adición de clase llamado a. Llamamos a las funciones sumar con 2 y 3 parámetros respectivamente y las funciones sumar se llaman y realizan sumas.

implementación de lista enlazada en c

Así es como se produce la sobrecarga de funciones.

Continuando con este artículo sobre sobrecarga y anulación de funciones en C ++

Anulación de función

Cuando una clase derivada tiene una función con el mismo nombre que una función de la clase base, se llama Anulación de función. Ambas funciones deben tener los mismos parámetros en ambas clases.

Código de muestra para anulación de funciones

#incluya el uso del espacio de nombres std class BaseClass {public: void disp () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

Salida:

diferencia entre interfaz y clase

Explicación:

En el programa anterior, mostramos la función básica, con el mismo nombre en la clase derivada y base. Aquí el objeto se crea a partir de la clase derivada, por lo que cuando llamamos a mostrar, solo se muestra el objeto de la clase secundaria.

Continuando con este artículo sobre sobrecarga y anulación de funciones en C ++

Orden para realizar anulación

Considere el código:

#incluya el uso del espacio de nombres std class BaseClass {public: void disp () {cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 } 

Salida:

Explicación:

En el programa anterior, mostramos la función básica, con el mismo nombre en la clase derivada y base. Aquí, la única diferencia con el programa anterior es esa. Creamos el objeto de la clase hija. El objeto de la clase secundaria recibe la referencia de la clase base. Esto también se puede hacer usando otro método,

Sintaxis

Parent_class_name :: function ()

En el ejemplo anterior, lo usamos como,

BaseClass :: disp ()

Esta es otra forma de anular.

Función de sobrecarga VS Función de anulación

Sobrecarga de funciones Anulación de función
El alcance es el mismoEl alcance es diferente
Las firmas deben diferir (p. Ej., Parámetro)Las firmas deben ser las mismas
Número de funciones de sobrecarga posiblesSolo es posible una función principal
Puede ocurrir sin herenciaSe produce principalmente por herencia.

Por lo tanto, hemos llegado al final de este artículo sobre 'Sobrecarga y anulación de funciones en C ++'. Si desea obtener más información, consulte el por Edureka, una empresa de aprendizaje en línea de confianza. El curso de capacitación y certificación Java J2EE y SOA de Edureka está diseñado para capacitarlo en conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog y nos pondremos en contacto con usted lo antes posible.