Anuncios Google

Sobrecarga de funciones en C++

Hola a todos, estoy comenzando a programar en c++ y ley algo interesante acerca de la sobre carga de funciones que es un atributo que tiene c++ diferentede C, leyendo en wiki me decia que la sobrecarga es la capacidad de un lenguaje de usar el mismo identificador en distintas funciones, me puse a ensayar y resulta que el resultado fue negativo el compilador (Code:Blocks) me dio efectivamente Error, diciendome que la funcion ya habia sido declarada.

 

Mi pregunta es: o entendi mal o algo esta fallando aqui.

 

Anexo el codigo que trate de ejecutar.

 

#include<iostream>
 
using namespace std;
 
int sumar (int a,int b){return a+b;}
int sumar (int a,int b){return a-b}
 
int main(){
 
 
 
cout << sumar(5,5);
 
 
return 0 ;;
}

Gracias por su ayuda.


 

 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de MOLOTOVII

Casi...

Solo que te fallo la parte de los parametros.

Y otra cosa interesante, es que puedes tener un mismo Método con el mismo nombre, pero que reciba distintos parametros para realizar una funcion especial...

Usando tu ejemplo, te muestro algunos posibles

int sumar (int a,int b){return a+b;} int sumar (float a,int b){return a-b;}int sumar (float a,int b,int c){return (a-b)+c;} //Entradas de ejemplo 1.3,29,1int sumar (float a,int b,double c){return (a-b)+c;} //Entradas 3.0,4,8.9
Aprendiendo Sobrecarga y dominandola, podrás ahorrarte muchisimos metodos basura y usar uno mismo :)

 


Gamertag: XxXMoLoToViiXxX

Estudante de Ingenieria en Sistemas, ITC. 

 

Imagen de ateno_3

La sobrecarga de funciones es

La sobrecarga de funciones es una capacidad nueva del C++ con respecto del C que permite construir funciones con el mismo identificador, o nombre, PERO CON DIFERENTES PARÁMETROS. (No intento gritar, simplemente señalar lo importante).

Ejemplos:

Mal:

int sumar(int a, int b) {  a + b; }
 
int sumar(int a, int b) { a - b;}

 

Bien:

int sumar(int a, int b) { a + b; }
 
int sumar(int a, float b){ a + b; }

 

También he de destacar que no es posible hacer la sobrecarga que devuelva diferentes tipos. Ejemplo que daría error:

int sumar(int a, int b);
 
float sumar(int a, int b);

 

Espero haberte servido.


Programo en C, C++, C# y ASM ( Sintaxis INTEL y AT&T )

Proyectos:

- UnlockMii 5.0 ----> UnlockMii 5.1: ( EN CONSTRUCCION -> 2% )

- MiiOS ( EN CONSTRUCCION -> 0,01% )

El mejor antivirus ==> Avast!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.