如何优雅地声明变量集的子集

NoS*_*tAl 7 c++

让我们说要求是这样的:作为一个类用户,我想收集关于一个主题的信息,当类有足够的信息时,我希望一个类能够将收集的数据列表返回给我.足够的信息被定义为 - 当收集来自所有可能信息的子集的所有信息时.该子集不是固定的,而是提供给该类.

例如,这是所有可能信息的列表:

{
   string name; 
   int age;
   char sex;
   string location;
}
Run Code Online (Sandbox Code Playgroud)

我想让我的用户有机会告诉我从一些数据源(我的班级解析数据)收听,直到我得到年龄和性别.

问题是我不知道如何在没有枚举的情况下传达它.基本上我的枚举解决方案是监听数据源,直到我确定在我收集了所有数据的2组枚举(收集,必需)上使用std :: includes.

没有枚举可以做到吗?

小智 1

枚举似乎是最干净的方法,但我想如果您愿意,您可以使用具有与每种数据类型相对应的不同字符的短字符串。这不是那么干净,但可能更容易调试。