Estoy tratando de ingresar una cadena completa con espacios entre medio
ejemplo: hola a todos
lo que guarda es solo el hola y nada mas.
aqui pongo el codigo, esta separado por archivos, tambien puede servir de ayuda para algunos que no les funcione el codigo con herencia y archivos de cabezera.
// main.cpp
Código C++:
Ver original
#include <iostream> #include <vector> using namespace std; #include "Profesor.h" int main() { int opcion; int numeroI; int edad; char nom[30]; char cla[30]; vector<Profesor> ListaP; for(int i=0; i<2; i++){ Profesor np; cout<<endl; cout<<"Numero : "; cin>>numeroI; np.setInscripcion(numeroI); cout<<endl; cout<<"Edad : "; cin>>edad; np.setEdad(edad); cout<<endl; cout<<"Nombre : "; cin>>nom; np.setNombre(nom); cout<<endl; cout<<"Clase : "; cin>>cla; np.setClase(cla); cout<<endl; ListaP.push_back(np); } for(int i=0; i<ListaP.size(); i++){ cout<<ListaP[i].getInscripcion()<<" : "<<ListaP[i].getEdad()<<" : "<<ListaP[i].getNombre()<<" : "<<ListaP[i].getClase()<<endl; } cout<<endl; return 0; }
// Persona.cpp
Código C++:
Ver original
#include "Persona.h" #include <iostream> using namespace std; Persona::Persona(){} Persona::~Persona(){} void Persona::setInscripcion(int num){ this->numeroInscripcion=num; } int Persona::getInscripcion(){ return this->numeroInscripcion; } // Nombre de la persona void Persona::setNombre(char const *nom){ //no lo acepta c++ //this->nombre=nom; //cout<<this->nombre<<" Lo Copia "<<endl; } char * Persona::getNombre(){ return this->nombre; } // Edad de la persona void Persona::setEdad(int edad){ this->edad=edad; } int Persona::getEdad(){ return this->edad; }
// Persona.h
Código C++:
Ver original
#ifndef PERSONA #define PERSONA class Persona{ private: int numeroInscripcion; char nombre[30]; int edad; public: Persona(); ~Persona(); void setInscripcion(int num); void setNombre(char const *nom); void setEdad(int edad); int getInscripcion(); char * getNombre(); int getEdad(); }; #endif
// Profesor.cpp
Código C++:
Ver original
#include <iostream> #include "Profesor.h" using namespace std; Profesor::Profesor(){} Profesor::~Profesor(){} void Profesor::setClase(char const *clase){ //this->clase=clase; } char * Profesor::getClase(){ return this->clase; }
// Profesor.h
Código C++:
Ver original
#ifndef PROFESOR #define PROFESOR #include "Persona.h" class Profesor : public Persona { private: char clase[30]; public: Profesor(); ~Profesor(); void setClase(char const *clase); char * getClase(); }; #endif