枚举类型相当于#define
#include <iostream>
#include <typeinfo>
enum day
{
d1,d2
};
//
/*
#define d1 0
#define d2 1
*/
int main ()
{
int m = int(d2);
day n;//n是day类型的。不应将n理解成enumeration类型,更不应将其理解成int类型。
//day类型可以自动转换为int类型,但int类型转换为day类型需要强制转换(day)
std::cout << "m = " << m << std::endl ;
std::cout << "d2= " << d2 << std::endl;
std::cout << day(m) << std::endl;
std::cout << day(1) << std::endl;
std::cout << typeid(day(m)).name() << std::endl;
std::cout << typeid(m).name() << std::endl;
std::cout << typeid(d2).name() << std::endl;
return 0;
}