Tarjeta::Tarjeta(Numero n, Usuario& us, Fecha fecha) : num(n), titular_(&us){ titular_facial_ = us.nombre(); titular_facial_ += " "; titular_facial_ += us.apellidos(); Fecha actual; if(actual > fecha) throw Tarjeta::Caducada(fecha); caducidad_ = fecha; us.es_titular_de(*this); }
Tarjeta::Tarjeta(Tarjeta::Tipo t, const Numero& num, Usuario& u,const Fecha& f) :tipo_{t}, num_{num}, titular_{&u}, f_cad_{f} { if(caducidad() < Fecha()) throw Tarjeta::Caducada(caducidad()); else { titular_facial_= u.nombre() +" "+u.apellidos(); for(int i = 0; i<titular_facial_.length(); i++) titular_facial_[i]= std::toupper(titular_facial_[i]); u.es_titular_de(*this); } }