枚举中使用位运算符可以实现对多个枚举的判断
enum Fruit
{
eBanana = 1 << 0,
eApple = 1 << 1,
ePear = 1 << 2,
eWatermelon = 1 << 3,
ePineapple = 1 << 4
};
vector<string> fruitType(Fruit f)
{
vector<string> v;
if (f & eBanana)
{
v.push_back("香蕉");
}
if (f & eApple)
{
v.push_back("苹果");
}
return v;
}
int main()
{
vector<string> v=fruitType(Fruit(eBanana | eApple));
cout << "我喜欢";
for (int i = 0; i < v.size(); i++)
{
if (i == v.size() - 1)
{
cout << v[i];
}
else
{
cout << v[i] + ",";
}
}
return 0;
}