C&C++类中嵌套枚举的使用方式

C和C++中的类中嵌套枚举类型作用域不同,在C中可以直接引用,而C++中作用域发生了变化,则仅类内可见,引用时必须加上类名。

以下面的结构体为例:

struct Date
{
    int year;
    int month;
    int day;
    enum WeekDay {
        MONDAY = 1,
        TUESDAY,
        WEDNESDAY
    } weekday;
};

在C中可以直接访问枚举类型:

printf("mon = %d\n", MONDAY);

在C++中必须加上类名:

printf("mon = %d\n", Date::MONDAY);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容