c++强类型枚举enum class NEWTYPE
2016-02-28 20:05
447 查看
c++11以前:
include
using namespace std;class Cat
{
public:
Cat() :m_tp(Cat::AA){}
enum MYTYPE {AA,BB,CC};
static const int DD = 1;
private:
MYTYPE m_tp;
};
int main()
{
Cat cat;
int it = Cat::DD; //可以使用类的静态成员; int it2 = Cat::AA; //也可以使用类里的枚举,有点分不清; Cat::MYTYPE it3=Cat::AA; //ok cout << "hello world" << endl; system("pause"); return 0;
}
“`
c++11之后:
class Cat
{
public:
Cat() :m_tp(Cat::NEWTYPE::DD){}
enum class NEWTYPE{DD,EE,FF}; //可以与static const int同名,一般枚举不行;
static const int DD = 1;
private:
NEWTYPE m_tp;
};
int main()
{
Cat cat;
int it = Cat::DD; //ok;
int it2 = Cat::AA; //fail;
Cat::NEWTYPE it3 = Cat::NEWTYPE::DD;//ok
cout << "hello world" << endl; system("pause"); return 0;
}
相关文章推荐
- c语言指针和地址中 &a 和*a 有啥区别
- C语言中的一些容易出现错误的知识点
- C++学习笔记51——在构造函数和析构函数中调用虚函数
- memset in C++ and C
- c++ 学习备忘
- Vision Lab Features Library (VLFeat)库C语言API接口
- 九度-题目1096:日期差值
- USACO1.3:milk
- USACO1.2:milk2
- USACO1.5:sprime
- USACO1.3:skidesign
- USACO1.1:gift1
- 1078. Hashing (25)
- C++访问控制之protected
- C++ 图的遍历
- 数组指针的理解
- 结构体在内存中的存储方式
- Java引用和C++指针的区别
- C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?
- c++ 动态分配内存delete多次出现的错误