[C con Clase] Funciones
amauri d
b_duhart en live.com.mx
Dom Ene 20 23:58:50 CET 2013
¡Hola! Yo de nuevo, esta vez preguntando acerca de funciones y uniones, es decir, constructores.
En el capítulo 16, en el problema 16.3, introducen un constructor como el siguiente:
union ejemplo {
int x;
double d;
char cad[8];
ejemplo(int i) : x(i) {}
ejemplo(double n) : d(n) {}
ejemplo(const char *c) {
strncpy(cad, c, 7);
cad[7] = 0;
}
};Pero, si bien he prestado atención, aún no explicaban qué es esto.
Entiendo que "func (tipo identificador) : variable(identificador) {}" asigna el parámetro de la función a la variable, pero ¿por qué?
B.Amauri
From: b_duhart en live.com.mx
To: cconclase en listas.conclase.net
Date: Thu, 10 Jan 2013 20:54:42 -0600
Subject: Re: [C con Clase] Funciones
Aclarada.
Lo veo así: una función con parámetros recibe valores variables como parámetros, por lo que debo especificar su tipo. Aunque haya declarado tipo_orden como char, la función no va a recibir "tipo_orden", sino un char, cualquiera que sea. Es sólo para una mejor comprensión de qué hara la función que uso un identificador en el parámetro.
Ej.
void Ordenar(char);
int main()
{Ordenar('a');}
//La función va a tomar como parámetro "a", donde "a" puede ser asignado a cualquier variable con identificador.
B.Amauri
Date: Thu, 10 Jan 2013 15:21:48 -0500
From: srd4121 en njit.edu
To: cconclase en listas.conclase.net
Subject: Re: [C con Clase] Funciones
Hola B.Amauri,
2013/1/10 amauri d <b_duhart en live.com.mx>
Ambos:
Sigo sin tener claro por qué requiero repetir el tipo de parámetro al declarar la función, creí que bastaba con declararlo al principio del programa:
...
char tipo_orden;
void Ordenar(tipo_orden);
Si suciedere como dices, C++ no podría determinar si la definición de 'tipo_orden' es global o local, como parámetro a 'Ordenar()'. Por ello, la sintaxis de un prototipo es:
<tipo_retorno> <nombre> ( <lista_parámetros> );
donde <lista_parámetros> es una lista vacía o llena de declaraciones de variables, separadas por comas.
Espero haber aclarado la duda.
Steven
_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130120/d0a39d16/attachment.html>
Más información sobre la lista de distribución Cconclase