Tecnología

Inicio

C ++ llamada a función Falta la lista de argumentos

Una función en los lenguajes C / C ++ es un proceso para lograr algún objetivo. La sintaxis central y el mecanismo de un programa en C ++ hereda reglas básicas del lenguaje C original y construye sobre ella. Definir la función de un objeto de C ++ o como una función global; llamar a la función con valores para cada parámetro definido.

Los argumentos de las funciones

Definir una lista de variables como parámetros a la función. Estos son los llamados "argumentos". También puede definir una función sin parámetros en todo:

Objecto :: función f (int arg1, arg2 char *, doble arg3)

{
// Function Body.
// outcome varies with argument values
}

Los argumentos que faltan

C ++ permite llamar a una función sin sus argumentos definidos. Esto no causa un tiempo de compilación, enlace en tiempo o en tiempo de ejecución de error. En este caso, la función utiliza los valores predeterminados para los argumentos en tiempo de ejecución. Proporcionar valores predeterminados para los argumentos en ese mismo momento:

void MyFunction ( double d_arg = 0.0 )
{
if ( d_arg == 0.0 )
...
else
...
}

Sobrecarga de funciones

Esta es una característica muy especial de C ++. Puede "sobrecarga" de una definición de función existente con otro. El nombre de la función sigue siendo la misma, pero la lista de argumentos es diferente. Utilice esta función a la sobrecarga de funciones de la biblioteca estándar también, pero sólo cuando sea necesario:

por ejemplo, int MyFunction (int a);

int MyFunction (int a, double b) ;
int MyFunction () ;

En este caso, la sintaxis de la llamada a la función le dice al compilador el que MyFunction a recoger. Si usted no pasa ningún argumento, el tercero es recogido. Si la llamada a la función se ve así: "r_val = MyFunction (12);" a continuación, el compilador utiliza la segunda definición.

Proporcionar valores predeterminados para los argumentos, como se muestra en la sección 2, es un método de acceso directo de la sobrecarga de funciones; sin embargo, sólo funciona en casos sencillos.

La sobrecarga de constructores de objetos

El poder real de la sobrecarga de funciones en C ++ está en la sobrecarga de constructor. Definir el constructor de un objeto en dos o más formas. En otras palabras, permite que la persona que llama para crear el objeto de diferentes maneras por diferentes razones - como compatibilidad hacia atrás, la portabilidad o flexibilidad. Constructor para MyObject objeto se denomina "MyObject ()". Por ejemplo:

fecha de la clase {

int day, month, year ;

público:
fecha de vacío (char * C_DATE);
fecha de vacío (int mm, dd int, int aa);
fecha de vacío ();

...

}

En la versión anterior de este software, el objeto "Fecha" se ha creado usando una cadena introducida por el usuario. En la próxima versión, el mes, el día y el año se aprobaron por separado para evitar la comprobación de formato rígido. A partir de la fecha de publicación, los programadores no se basan en el usuario en absoluto, sino ir a buscar o calculan la fecha con el reloj del sistema, en el proceso de creación del objeto "Fecha". Crear el objeto en el programa:

Método A: Fecha ( "10/10/2011");
Método B: Fecha (10, 10, 2011);
Método C: date ();

Si está familiarizado con la versión anterior de este software, y se encuentra con un programa de usuario que llama a la fecha sin argumentos, puede ser confundido en cuanto a cómo el compilador permitió que. La explicación es la sobrecarga de funciones.