Código:
este es el cpp,resumido solo con als funciones que omereconocen los tiposclass Usuario{ public: typedef std::map<Numero,Tarjeta*> Tarjetas;//estos dos son los tipos que no me reconoce typedef std::map<Articulo*,unsigned> Articulos; class Id_duplicado{ public: Id_duplicado(Cadena& id):id_(id){} Cadena idd()const{return id_;} private: Cadena id_; }; Usuario(Cadena& id,Cadena& nom,Cadena& ap,Cadena& dir,Clave& cl); void es_titular(Tarjeta& t); void no_es_titular(Tarjeta& t); Cadena id()const; Cadena nombre()const; Cadena apellidos()const; Cadena direccion()const; const Tarjetas& tarjetas()const; void compra(Articulo&,unsigned); const Articulos& compra()const; size_t n_articulos()const; ~Usuario(); private: static std::set<Cadena> identificadores; Cadena identificador_; Cadena nombre_; Cadena apellidos_; Cadena direccion_; Clave contrasena_; Tarjetas tarjetas_; Articulos articulos; }; std::ostream& operator<<(std::ostream& s,const Usuario& u); void mostrar_carro(Usuario& u); #endif
Código:
#include "usuario.h" #include <unistd.h> #include <string.h> #include <utility> void Usuario::es_titular(Tarjeta& t){ tarjetas.insert(t.numero(),&t); } void Usuario::no_es_titular(Tarjeta& t){ tarjetas.erase(t.numero()); } const Tarjetas& Usuario::tarjetas()const{ return tarjetas_; } const Articulos& Usuario::compra()const{ return articulos; }