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.
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.9Aprendiendo Sobrecarga y dominandola, podrás ahorrarte muchisimos metodos basura y usar uno mismo :)
Gamertag: XxXMoLoToViiXxX
Estudante de Ingenieria en Sistemas, ITC.
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:
Bien:
También he de destacar que no es posible hacer la sobrecarga que devuelva diferentes tipos. Ejemplo que daría error:
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!