enum class A { a, b } enum struct D { a, b } class B { private: int x; } enum C { a, b }