Cita:
Iniciado por dehm Hola:
Continuando con temas relacionados con
miembros de una estructura, ahora me pregunto si sería posible asociar los datos a una máscara de forma que ésta última me dijese cuales datos serán visibles y cuales no.
.................................................. .......
Pero lo que realmente me interesa sería implementar esa idea para los miembros de una estructura:
Algo como:
...........................................
Perdona por la tardanza amigo
dehm pero es que tiene "miga" tu propuesta.
Después de darle bastantes vueltas al asunto me ha salido lo que sigue
, que cumple con el cometido, pero creo que debería de haber alguna solución más sencilla.
Código C++:
Ver original#include <iostream>
using namespace std;
struct datos
{
int dato1 ;
float dato2 ;
char dato3 ;
char dato4 [ 5 ] ;
bool dato5 ;
datos():dato1 ( 3 ) , dato2 ( 2.33 ) , dato3 ( 'X' ) ,dato5 ( true )
{
}
};
void ver ( const bool *mascara , const datos&D ,int numColumnas ) ;
const int numColumnas = 5 ;
int main ( void ) {
datos D ;
bool mascara [ numColumnas ]= { true , false , true , true , false } ;
ver( mascara , D , numColumnas ) ;
return 0 ;
}
void ver(const bool *mascara, const datos&D,int numColumnas) {
if ( mascara [ 0 ] ) cout << D.dato1 << " - " ;
if ( mascara [ 1 ] ) cout << D.dato2 << " - " ;
if ( mascara [ 2 ] ) cout << D.dato3 << " - " ;
if ( mascara [ 3 ] ) cout << D.dato4 << " - " ;
if ( mascara [ 4 ] ) cout << D.dato5 << " - " ;
}
La verdad es que aquí echo en falta algo tan elemental en Python como usar arrays cuyos elementos pueden ser de distintos "tipos" y claro todo es mucho más sencillo. Pero en fin, estamos en C/C++ y hay lo que hay.
Espero que te sirva al menos de orientación para otras opciones que se te puedan ocurrir. Y si eso sucede no te olvides de compartirlas aquí.
¡¡¡Saluditos!!!