Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Duda de comprensión de clase

Estas en el tema de Duda de comprensión de clase en el foro de C/C++ en Foros del Web. Buenas, estoy implementando una clase CLAVE de la cual me dan un enunciado para saber sus características. Su atributo es una Cadena que aloja la ...
  #1 (permalink)  
Antiguo 26/03/2014, 15:52
 
Fecha de Ingreso: octubre-2012
Mensajes: 37
Antigüedad: 11 años, 7 meses
Puntos: 0
Duda de comprensión de clase

Buenas, estoy implementando una clase CLAVE de la cual me dan un enunciado para saber sus características.

Su atributo es una Cadena que aloja la contraseña cifrada.

Se construye a partir de una cadena de caracteres de bajo nivel que contendrá la contraseña «en claro», sin cifrar. La contraseña puede ser incorrecta por ser demasiado corta (menos de 5 caracteres, como se ha dicho), o por haber ocurrido algún error al cifrarse. En esos casos, el constructor elevará la excepción Clave::Incorrecta. Esta clase almacenará como atributo la razón de la incorrección, que será una enumeración llamada Clave::Razon con las constantes CORTA y ERROR_CRYPT.
Su método observador razon devolverá dicho atributo.


El método observador clave devolverá la contraseña cifrada.

El método verifica recibe como parámetro una cadena de bajo nivel con una supuesta contraseña en claro y devuelve el valor booleano verdadero si se corresponde con la contraseña almacenada, o falso si no.

El problema es que no entiendo el párrafo que esta en negrita cuando llego a la parte de Clave::Razon

La implementación que he hecho de la clase es la siguiente:

Código:
#ifndef _CLAVE_H_
#define _CLAVE_H_

#include "cadena.h"

class Clave {
 public:
  Clave (const char*);
  Cadena clave() const { return pass_cifrada; }
  bool verifica(const char*);
  
  class Razon {
  public:
    enum razon = {CORTA, ERROR_CRYPT}
  };
  class Incorrecta {
  public:
    Incorrecta(Razon r) { razon_ = r; }
    Razon razon() const { return razon_; }
  private:
    Razon razon_;
    };
 private:
  Cadena pass_cifrada;
  
  bool claveValida(const char*);
  static const char* SALTO;
};

#endif
Pero no está bien, alguien me puede explicar qué hago mal.

Saludos
José

Última edición por DvNe; 26/03/2014 a las 17:18
  #2 (permalink)  
Antiguo 27/03/2014, 11:06
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 11 meses
Puntos: 61
Respuesta: Duda de comprensión de clase

La enum tiene que ser un enum, no una clase. ->

public: enum Razon { valor1, valor2 };

te sobra el "=", te falta un ";" al final.
__________________
Visita mi perfil en LinkedIn

Etiquetas: clase
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:16.