Nhờ C++ 11, chúng tôi đã có Enums được đánh vần và mạnh mẽ.
Nhưng có bất kỳ kế hoạch nào để mở rộng không?Kế hoạch mở rộng Enums
Something như thế này:
enum class OneTwoThree : char {one=1, two=2, three=3};
enum class Four : char {four=4} extends OneTwoThree;
Theo như tôi biết, không. – Vitaliy
Nếu tôi không nhầm, khai báo 'enum class' chỉ nói để cấm chuyển đổi ngầm giữa các giá trị enum/số nguyên, vv, nó không thực sự khiến enum đại diện cho một kiểu hoàn chỉnh như trong Java/Python/v.v. Chưa kể rằng cú pháp cho subclassing đã được sử dụng để chỉ ra kiểu dữ liệu cơ bản và 'extends' không phải là từ khóa C++, và iirc ủy ban chuẩn C++ không thích thêm từ khóa mới. Nếu bạn thực sự cần một kiểu liệt kê có thể phân lớp trong C++, bạn nên sử dụng một khuôn mẫu với các đối số variadic, nó sẽ cung cấp cho bạn toàn bộ thời gian biên dịch của enums – JAB
@JAB: _Complete type_ có ý nghĩa cụ thể trong C++ và * * mỗi ** 'enum' loại là một _complete type_. 'void' là một ví dụ về kiểu không hoàn chỉnh. – MSalters