[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