Exemple #1
0
void Giocatore::modifica(const Tesserato &g){
    const Giocatore* aux = dynamic_cast<const Giocatore*>(&g);
    if(aux && *this != *aux){
        if(numero != aux->numero){
            setNumero(aux->numero);
        }
    }
    Tesserato::modifica(g);
}
Exemple #2
0
/**Construye una revista a partir de su información básica
   @throw std::domain_error si algún atributo no es válido para un libro*/
Revista::Revista(   std::string ISSN, std::string titulo, unsigned int anio, unsigned int numero,
                    std::string editorial, float precio) 
                throw (std::domain_error)
    try
        : Ejemplar(ISSN,titulo, editorial, precio) {
        //inicializamos atributos con métodos set para comprobaciones de valores válidos de dominio
        setISSN(ISSN); //Aunque ISSN está inicializado como ID ejemplar, verificamos que es válido
        setAnio(anio);
        setNumero(numero);
    } catch (std::domain_error &e ) {
        //relanzamos excepciones de Ejemplar o de inicialización de atributos propios
        throw e;
    }
Exemple #3
0
/**Inicializa una Revista a partir de sus datos obtenidos en formato CSV almacenados en línea
 @pre formato de línea: año_publicacion;num_publicacion;issn;título;editorial;precio
 @pos Modifica los atributos de la revista si linea contiene la información requerida
 @throw ExConversion si la línea CSV no tiene el formato adecuado
 @throw std::domain_error si algún dato para la revista no es válido*/
void Revista::fromCSV(std::string linea) throw (ExConversion,std::domain_error){

    std::stringstream ss(linea);
    std::string lineaEjemplar;
    int valor;

    ss >> valor;
    if (ss.fail())
        throw ExConversion("[Revista::fromCSV] el año de la revista no es un número: "+linea);
    setAnio(valor);
    ss.ignore(); //ignoramos siguiente ';'

    ss >> valor;
    if (ss.fail())
        throw ExConversion("[Revista::fromCSV] la edición no es un número: "+linea);
    setNumero(valor);
    ss.ignore(); //ignoramos siguiente ';'
    

    //Procesamos resto de la línea con la parte de Ejemplar
    std::getline(ss,lineaEjemplar);
    Ejemplar::fromCSV(lineaEjemplar);
}
Suporte_Vida::Suporte_Vida() : Sala("SUPORTE DE VIDA") {
	setOxigenio(100);
	
	setNumero(6);
}
Sala_Maquinas::Sala_Maquinas(int pos, Nave *n) : Sala("SALA DAS MAQUINAS",pos,n) {
	setOxigenio(100);
	
	setNumero(5);
}
Exemple #6
0
void Persona::llamarNumero (int numerajo) {
	setNumero(numerajo);
}
Propulsor::Propulsor() : Sala("PROPULSOR") {
    setOxigenio(100);

    setNumero(1);
}