Ver Mensaje Individual
  #2  
Antiguo 06-12-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No probé si el código funciona correctamente o hace lo que debiera, pero para que compile sin error aplica las correcciones marcadas con: <<==.


Clase.h :
Código PHP:
#ifndef claseH
#define claseH
#define SIZEMAXNAME 20
#define SIZEMAXSPELLS 30

typedef struct {
    
int id;
    
char nombre[SIZEMAXNAME];
    
char apellidos[SIZEMAXSPELLS];
    
int edad;
DATOS;

class 
DatosPersonales {
private:
  
DATOS Datos;
public:
  
DatosPersonales();
  ~
DatosPersonales();
  
//Metodos para obtener informacion
  
int GetId();
  
void GetName(char *name);
  
void GetSpells(char *spells);
  
int GetAge();
  
void GetData(DATOS *data);

  
//Metodos para enviar informacion
  
void SetId(int id);
  
void SetName(char *name);
  
void SetSpells(char *spells);
  
void SetAge(int age);
  
void SetData(DATOS *data);
};    
// <<== 

#endif 
Clase.cpp:
Código PHP:
#include "clase.h"
#include <string.h> // <<==

DatosPersonales::~DatosPersonales(){
}

DatosPersonales::DatosPersonales(){
}

//Metodos para obtener informacion
int DatosPersonales::GetId(){
  return 
Datos.id;
}

void DatosPersonales::GetName(char *name){
  
strncpy(nameDatos.nombreSIZEMAXNAME);
}

void DatosPersonales::GetSpells(char *spells){
  
strncpy(spellsDatos.apellidosSIZEMAXSPELLS);
}

int DatosPersonales::GetAge(){
  return 
Datos.edad;
}

void DatosPersonales::GetData(DATOS *data){
  
memcpy(data, &Datossizeof(DATOS));  // <<==    
}

//Metodos para enviar informacion
void DatosPersonales::SetId(int id){
  
Datos.id id;
}

void DatosPersonales::SetName(char *name){
  
strncpy(Datos.nombrenameSIZEMAXNAME);
}

void DatosPersonales::SetSpells(char *spells){
  
strncpy(Datos.apellidosspellsSIZEMAXSPELLS);
}

void DatosPersonales::SetAge(int age){
  
Datos.edad age;
}

void DatosPersonales::SetData(DATOS *data){
  
memcpy( &Datosdatasizeof(DATOS));  // <<==

Te adjunto el código corregido.

Saludos
Archivos Adjuntos
Tipo de Archivo: zip aguml.zip (91,4 KB, 1 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita