Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2013, 14:15
john88
 
Fecha de Ingreso: diciembre-2011
Mensajes: 17
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta Problema con variables de una clase

Hola, que tal?

Bueno mi problema es el siguiente. He creado una clase "Proyecto" en ella declaro unas variables y unos métodos, al igual que su constructor,y aquí es donde esta el problema.La verdad me resulta difícil explicarlo ya que no le veo la lógica. Bien dejare el codigo para que lo veáis:

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string.h>
#include <string>
#include <sys/stat.h>

using namespace std;

class Proyecto
{
private:
int id;
char f_ini[10];
char f_fin[10];
char nom[30];
char des[80];
public:
Proyecto(char c_nom[30],char c_des[80],char c_f_ini[10],char c_f_fin[10]);
void mostrarProyecto();

~Proyecto();
};

Proyecto::Proyecto(char c_nom[],char c_des[],char c_f_ini[],char c_f_fin[])
{
strcpy (f_ini,c_f_ini);
strcpy (f_fin,c_f_fin);
strcpy (nom,c_nom);
strcpy (des,c_des);


cout<<"valor de argv = "<<f_ini<<endl;

}

void Proyecto::mostrarProyecto()
{
cout<<"Identificador ====== "<<id<<endl;
cout<<"Nombre ====== "<<nom<<endl;
cout<<"Descripcion ====== "<<des<<endl;
cout<<"Fecha inicio ====== "<<f_ini<<endl;
cout<<"Fecha fin ====== "<<f_fin<<endl;
}

int main (int argc, char *argv[])
{
int i;
//char comm1[]="-altaProyecto";//comando
Proyecto *proy;

proy = new Proyecto(argv[3],argv[5],argv[7],argv[9]);
proy->mostrarProyecto();

return 1;
}


Una vez compilado,al ejecutar lo de la siguiente manera, el resultado es este:
comando : ./proyecto -altaProyecto -nombre john -descripcion prueba -fecha_ini 29/03/2004 -feha_fin 29/03/2005

resultado:

valor de argv = 29/03/200429/03/2005john
Identificador ====== 0
Nombre ====== john
Descripcion ====== prueba
Fecha inicio ====== 29/03/200429/03/2005john
Fecha fin ====== 29/03/2005john

como veis me concatena los datos que le paso, y si vario el orden en que declaro las variables en la clase el resultado es diferente. no entiendo nada,ya que el orden en que se declaran no tiene relevancia,no?si alguien pudiera explicármelo le estaría muy agradecido.