class TOpciones
private:
bool *OpcActivas; //Vector Booleano
public :
TOpciones(); /Constructor
TOpciones(const TOpciones &f); //Constructor Copia
TOpciones&operator=(const TOpciones&f); //Sobrecarga operador Asignacion
//Procedimientos
void ActivarOpcion(char NOpc);
bool LeerOpcion(char NOpc);
};end
//---------------------------------------------------------------------------
TOpciones::TOpciones
{
//Inicializo Vector
OpcActivas = new bool [10];
for(int a=0;a<10;a++){OpcActivas[a] = false;}
}
//---------------------------------------------------------------------------
TOpciones::TOpciones(const TOpcionesc &f)
{
*this = f;
}
//---------------------------------------------------------------------------
//COPIA
TOpciones & TOpciones::operator=(const TOpciones &f)
{
if(OpcActivas){delete[]OpcActivas;}
FiltrosAct = new bool [10];
memcpy(OpcActivas,f.OpcActivas,10 *sizeof(bool));
//Copio Vector
return *this;
}
//---------------------------------------------------------------------------
void TFiltrOpc::ActivarOpcion(char NOpc)
{
OpcActivas[ NOpc] = true;
}
//---------------------------------------------------------------------------
bool TFiltrOpc::LeerOpcion(char NOpc)
{
return OpcActivas[ NOpc];
}