枚举在类外
enum Week
{
Mon,
Turs
};
类中的枚举
class Student
{
public:
enum
{
red,
blue
};
enum Num
{
one,
two,
};
int GetRed()
{
//类中直接使用
return red;
}
int GetRR()
{
Num mm = one;
return mm;
}
private:
int m_Value;
};
int _tmain(int argc, _TCHAR* argv[])
{
//相当于全局可以直接调用
int iMon = Mon;
//添加域
int iMonObject = Week::Mon;
Week obj;
obj = Mon;
//枚举在类中的用法
int iColor = Student::red;
iColor = Student::Num::one;
iColor = Student::one;
Student stu;
iColor = stu.one;
//枚举赋值
obj = (Week)iColor;
return 0;
}
补充:
相同的都可以定义在类中
C#是标识符加.访问成员的比如week.Mon(包括static)
C++是标识符加::访问成员的比如week::Mon
(1)C#枚举必须定义标识符
错误:
enum
{
Mon,
Trus
};
正确:
enum week
{
Mon,
Trus
};
(2)C++字符串和枚举相互转换缺乏有效手段但是C#可以用tostring(),Enum类来实现