enum class
関数内でを定義すると、使用可能なオプションから値が取得されます。ただし、クラス内で定義すると、オプションの値はありません。では、 の初期値はg.f
? true
比較すると何が返されますか?((g.f==??)==true)
?
#include <iostream>
enum class Fruit
{
apple,
orange
};
class Garden
{
public:
Fruit f;
};
void print_enum(Fruit f)
{
switch(f)
{
case Fruit::apple:
std::cout<<"apple\n";
break;
case Fruit::orange:
std::cout<<"orange\n";
break;
default:
std::cout<<"other\n";
break;
}
}
int main()
{
Garden g;
Fruit f;
print_enum(f); // apple
print_enum(g.f); // other
return 0;
}