Ok, gracias Steven por la respuesta tan pronta. Saludos.<br><br><div class="gmail_quote">El 18 de enero de 2011 22:53, Steven Davidson <span dir="ltr"><<a href="mailto:srd4121@njit.edu">srd4121@njit.edu</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hola Omar,<div class="im"><br>
<br>
On 1/18/2011 9:52 PM, omar mendoza wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hola, en lenguaje C se puede definir una función de la siguiente<br>
manera:<br>
<br>
void funcion(int numero1, int numero2=0)<br>
<br>
se puede hacer esto en C++??<br>
<br>
</blockquote>
<br></div>
La verdad es que en C no se puede hacer lo que dices, pero en C++ sí. Si tienes un compilador de C que sí acepta parámetros por defecto, entonces será una extensión al lenguaje y por tanto no es una prestación que pertenezca al estándar de ANSI C.<br>

<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
tengo lo siguiente<br>
<br>
</blockquote>
<br>
[CORTE]<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
y me sale éste error<br>
<br>
omar@debian:~/trabajo/pruebas$ g++ pruebas.cpp main.cpp -o main -g<br>
/tmp/ccZyW4Ay.o: In function `Prueba':<br>
/home/omar/trabajo/pruebas/pruebas.cpp:17: multiple definition of<br>
`Prueba::Prueba(int, int, int)'<br>
/tmp/cc31SRVF.o:/home/omar/trabajo/pruebas/pruebas.cpp:17: first<br>
defined here<br>
/tmp/ccZyW4Ay.o: In function `Prueba':<br>
/home/omar/trabajo/pruebas/pruebas.cpp:17: multiple definition of<br>
`Prueba::Prueba(int, int, int)'<br>
/tmp/cc31SRVF.o:/home/omar/trabajo/pruebas/pruebas.cpp:17: first<br>
defined here<br>
/tmp/ccZyW4Ay.o: In function `Prueba::print()':<br>
/home/omar/trabajo/pruebas/pruebas.cpp:24: multiple definition of<br>
`Prueba::print()'<br>
/tmp/cc31SRVF.o:/home/omar/trabajo/pruebas/pruebas.cpp:24: first<br>
defined here<br>
collect2: ld returned 1 exit status<br>
<br>
</blockquote>
<br></div>
Según los mensajes de error que te salen, estás definiendo las mismas funciones en la misma compilación. Sospecho que has incluido las definiciones de las funciones en varios ficheros fuente. Asegúrate de que incluyes cada fichero de cabecera que necesitas UNA sola vez. Para esto, usa las directivas del precompilador. Por ejemplo,<br>

<br>
// "pruebas.h"<br>
#ifndef _PRUEBAS_H_<br>
  #define _PRUEBAS_H_<div class="im"><br>
<br>
class Prueba<br>
{<br>
public:<br>
  Prueba();<br>
  Prueba( int, int, int );<br>
  void print();<br>
<br>
private:<br>
  int x;<br>
  int y;<br>
  int z;<br>
};<br>
<br></div>
#endif<br>
<br>
<br>
// "pruebas.cpp"<br>
#include <iostream><br>
#include "pruebas.h"<br>
...<br>
<br>
<br>
// "main.cpp"<br>
#include <iostream><br>
#include "pruebas.h"<br>
<br>
int main()<br>
{<br>
  ...<br>
}<br>
<br>
<br>
Como puedes ver, incluimos "pruebas.h" una sola vez en cada fichero fuente que lo necesita.<br>
<br>
Aparte de esto, tienes un error en el código que nos has presentado, ya que no tienes una definición para el constructor sin parámetros. Es decir, no tienes el siguiente constructor:<br>
<br>
Prueba::Prueba()  {...}<br>
<br>
<br>
El otro error es en 'main()'. Usas el operador 'new' pero al liberar la memoria usas la función 'free()' de ANSI C. Esto no es correcto. Si usas 'new' debes usar 'delete'. No mezcles los operadores de gestión de memoria de C++ con las funciones de ANSI C.<br>

<br>
<br>
Espero que esto te oriente.<br>
<br>
Steven<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>"Las cicatrices nos recuerdan que el pasado fue real" Dr. Lecter en Dragón Rojo <br>