[C con Clase] constructor con valores definidos

omar mendoza omar.p9 en gmail.com
Mie Ene 19 03:52:03 CET 2011


Hola, en lenguaje C se puede definir una función de la siguiente manera:

void funcion(int numero1, int numero2=0)

se puede hacer esto en C++??

tengo lo siguiente

#include <iostream>
using namespace std;

class Prueba{
public:
Prueba();
Prueba (int , int , int );
void print();

private:
int x;
int y;
int z;
};


Prueba::Prueba(int x, int y, int z=0){

this->x=x;
this->y=y;
this->z=z;
}

void Prueba::print(){

cout<<"x = " << x << endl;
cout<<"y = " << y << endl;
cout<<"z = " << z << endl;

}


y lo uso así

int main(int argc, const char *argv[]){

Prueba *pr1 = new Prueba(0,0);
Prueba *pr2 = new Prueba(1,1,1);

pr1->print();
pr2->print();
 free(pr1);
free(pr2);

return 0;
}

y me sale éste error

omar en debian:~/trabajo/pruebas$ g++ pruebas.cpp main.cpp -o main -g
/tmp/ccZyW4Ay.o: In function `Prueba':
/home/omar/trabajo/pruebas/pruebas.cpp:17: multiple definition of
`Prueba::Prueba(int, int, int)'
/tmp/cc31SRVF.o:/home/omar/trabajo/pruebas/pruebas.cpp:17: first defined
here
/tmp/ccZyW4Ay.o: In function `Prueba':
/home/omar/trabajo/pruebas/pruebas.cpp:17: multiple definition of
`Prueba::Prueba(int, int, int)'
/tmp/cc31SRVF.o:/home/omar/trabajo/pruebas/pruebas.cpp:17: first defined
here
/tmp/ccZyW4Ay.o: In function `Prueba::print()':
/home/omar/trabajo/pruebas/pruebas.cpp:24: multiple definition of
`Prueba::print()'
/tmp/cc31SRVF.o:/home/omar/trabajo/pruebas/pruebas.cpp:24: first defined
here
collect2: ld returned 1 exit status

Gracias por su ayuda.
Saludos
Omar Mendoza


-- 
"Las cicatrices nos recuerdan que el pasado fue real" Dr. Lecter en Dragón
Rojo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110118/ba66215f/attachment.html>


Más información sobre la lista de distribución Cconclase