1

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;
}
4

2 に答える 2