<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>¡Hola! Yo de nuevo, esta vez preguntando acerca de funciones y uniones, es decir, constructores.<br>En el capítulo 16, en el problema 16.3, introducen un constructor como el siguiente:<br><pre class="ejemplo"><span class="cpp">union</span> ejemplo {
    <span class="cpp">int</span> x;
    <span class="cpp">double</span> d;
    <span class="cpp">char</span> cad[8];
    <font style="font-size: 16pt;" size="4">ejemplo(</font><font style="font-size: 16pt;" size="4"><span class="cpp">int</span></font><font style="font-size: 16pt;" size="4"> i) : x(i) {}
    ejemplo(</font><font style="font-size: 16pt;" size="4"><span class="cpp">double</span></font><font style="font-size: 16pt;" size="4"> n) : d(n) {}</font>
    ejemplo(<span class="cpp">const</span> <span class="cpp">char</span> *c) {
        strncpy(cad, c, 7);
        cad[7] = 0;
    } 
};</pre>Pero, si bien he prestado atención, aún no explicaban qué es esto. <br>Entiendo que "func (tipo identificador) : variable(identificador) {}" asigna el parámetro de la función a la variable, pero ¿por qué?<br><br>B.Amauri<br><br><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">From: b_duhart@live.com.mx<br>To: cconclase@listas.conclase.net<br>Date: Thu, 10 Jan 2013 20:54:42 -0600<br>Subject: Re: [C con Clase] Funciones<br><br>

<style><!--
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:12pt;font-family:Calibri;}

--></style>
<div dir="ltr">Aclarada.<br>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.<br>Ej.<br><br>void Ordenar(char);<br><br>int main()<br>{Ordenar('a');}<br>//La función va a tomar como parámetro "a", donde "a" puede ser asignado a cualquier variable con identificador.<br><br>B.Amauri<br><br><div><div id="ecxSkyDrivePlaceholder"></div><hr id="ecxstopSpelling">Date: Thu, 10 Jan 2013 15:21:48 -0500<br>From: srd4121@njit.edu<br>To: cconclase@listas.conclase.net<br>Subject: Re: [C con Clase] Funciones<br><br><div dir="ltr">Hola B.Amauri,<div class="ecxgmail_extra"><br><div class="ecxgmail_quote">2013/1/10 amauri d <span dir="ltr"><<a href="mailto:b_duhart@live.com.mx">b_duhart@live.com.mx</a>></span><br><blockquote class="ecxgmail_quote" style="border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div><div dir="ltr">


<div dir="ltr">Ambos: <br>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: <br><br>...<br>char tipo_orden;<br><br>void Ordenar(tipo_orden);<br>
<br></div></div></div></blockquote><div><br></div><div>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:<br>
<br><tipo_retorno> <nombre> ( <lista_parámetros> );</div><div><br></div><div>donde <lista_parámetros> es una lista vacía o llena de declaraciones de variables, separadas por comas.</div><div>
<br></div><div><br></div><div>Espero haber aclarado la duda.</div><div><br></div><div>Steven</div><div><br></div></div></div></div>
<br>_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ</div>                                         </div>
<br>_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ</div>                                         </div></body>
</html>