`

从0学习C++ (六)枚举

    博客分类:
  • C++
c++ 
阅读更多
#include <iostream>;
#include <cmath>;
#include <string>;
#include <cstring>;

/*
	枚举学习
*/
enum spectrum{red,orange,yellow,green,blue,violet,indigo,ultraviolet};
enum bits{one = 1, two = 2,four = 4,eight = 8}; 
enum bigstep{first,second = 100,third};

//只是用常量,而不创建枚举类型的变量
enum {zero,null = 0,love,numero_uno = 1};
  
  
  
int main(){  
  
    using namespace std;  
	spectrum band;

	band = yellow;
	cout << band << endl; //打印:2

	band = red;
	cout << band << endl; //打印 0

	//++band;   // not valid
	//band = red + yellow;  // not valid



	int color = blue; //valid
	cout << color << endl;   //打印   4

	//band = 3;   // invalid;

	color = red + 3; //valid
	cout << color << endl;   //打印 3


	band = (spectrum)2;  // valid
	cout << band << endl;  // 打印 2


	band = (spectrum)2000;   //不适当的值进行类型强转。
	cout << band << endl;

	//设置枚举变量的值
	bits mbits;
	mbits = one;
	cout << mbits << endl;  //打印   1


	bigstep mbigstep;
	mbigstep = third;
	cout << mbigstep << endl; // 打印  101

	int number = zero;
	cout << number << endl;   //打印 0
	number = love;
	cout << number << endl;   //打印  1
	cout << numero_uno << endl;   //打印  1
      

	/*
		枚举的取值范围,
		下面的代码中, 6不是枚举值,但它位于枚举的取值范围内。
	*/
	bits myflag;
	myflag = (bits)6;



	/*
		枚举的取值范围,

		找上限:先找到枚举量的最大值,然后找大于这个最大值得、最小的2的幂,然后减1便是上限。
		例如  bigstep 中 最大枚举值是101 ,在2的幂中,比这个数大的最小值是 128 所以上限是127

		找下限:如果枚举量的最小值不小于0, 那下限就是0 否则采用找上限的方法,但加上负号。
		例如: 如果最小的枚举量是-6 比它小的、最大的2的幂是-8(加上负号),因此下限为 -7

	*/

   
  
}  
分享到:
评论

相关推荐

    C++检测托盘图标和枚举进程

    在C++编程中,"检测托盘图标"和"枚举进程"是两个重要的系统级操作,主要用于管理和监控系统的运行状态。以下是对这两个知识点的详细解释: 首先,托盘图标,也称为系统托盘或通知区域图标,是Windows操作系统桌面右...

    信奥赛C++:枚举算法的算法思想

    信奥赛C++:枚举算法的算法思想,适合准备或正在学习C++语法和算法的人员,让学习者知晓枚举算法的算法思想及使用场景,让学习者知晓并掌握枚举算法在什么时候使用以及如何使用。

    用c++语言编写的一个类,主要封装了排列、组合、整数分划、枚举、N皇后等常见问题的解决方法,

    这是我用c++语言编写的一个类,主要封装了排列、组合、整数分划、枚举、N皇后等常见问题的解决方法,分为两个...希望能对学习c++语言的朋友有所帮助。在使用中,如果发现错误和可以改进的地方,请联系QQ:1341213535。

    C++编写的枚举注册表源代码

    总的来说,这个资源为C++开发者提供了一个深入了解注册表操作的实践案例,同时也能学习到如何利用Windows API进行进程枚举。通过分析和运行这些程序,开发者不仅可以提升他们的编程技能,还能增强对系统级编程的理解...

    枚举窗口的源代码资源

    在Windows操作系统中,枚举窗口是一项重要的编程技术,主要用于遍历和操作系统中所有或特定类别的窗口。...通过阅读和理解这段代码,开发者可以学习如何在自己的程序中实现枚举窗口和子窗口的功能。

    c++ 1系统信息显示2进程枚举3服务枚举4端口枚举5文件监控源码

    总的来说,这个项目为学习C++系统编程提供了很好的实践案例,涵盖了系统信息获取、进程和服务管理、网络通信和文件监控等多个关键领域。对于想要深入理解Windows系统编程的开发者来说,这是一个非常有价值的资源。

    全方位学习C++

    学习C++通常从"Hello, World!"程序开始,它涉及输出语句(如`std::cout`)和#include指令。`std::`是标准命名空间的标识,iostream库用于输入输出操作,与旧的iostream.h头文件相比,它遵循了更现代的命名规则。重名...

    VC枚举串口号(串口名)

    "VC枚举串口(串口名)"这个标题指的是利用VC++(Visual C++)来查找并列举系统中可用的串行端口名称。在描述中提到的"EnumSerial"是一个自定义类,它被用来实现串口的枚举功能,能够识别虚拟串口并且能够在串口号超过...

    c++ 简单学习资料

    2. main函数:每个C++程序都从main函数开始执行,它是程序的入口点。 3. 输入输出:标准输入输出流(cin和cout)用于从键盘接收数据和向屏幕输出信息。iostream库提供了这些功能。 三、面向对象编程 1. 类与对象:...

    USB.rar_C++枚举USB_USB 枚举_usb packet_usb 包

    在"USB.rar_C++枚举USB_USB 枚举_usb packet_usb 包"这个压缩包中,我们主要探讨的是USB协议的枚举过程、数据包分析以及USB标准描述符这三个关键领域。 首先,USB的**枚举过程**是设备连接到主机后的初始化阶段。在...

    c++primer 学习笔记

    这些笔记涵盖了C++编程的基础,是学习C++语言的重要参考资料。理解并掌握这些知识点,可以帮助初学者避免常见的陷阱,写出更有效、更可读的C++代码。随着深入学习,还将涉及到类、对象、模板、异常处理、输入输出流...

    c++primer学习心得

    下面将从几个方面分享学习心得与重要知识点。 #### 1. 编译器与编译指令 - **命令行编译**:在命令行环境下使用编译器(例如 `cl`)来编译源代码文件(如 `1.cpp`),生成可执行文件。例如: ```bash F:\VC\...

    VC++ 枚举进程模块信息

    在VC++编程环境中,枚举进程模块是一项重要的技术,它涉及到操作系统级别的进程管理和系统调试。本文将深入探讨如何使用...通过学习和实践这一技术,开发者可以更好地理解和控制系统的运行状态,提高问题排查的效率。

    C++ Builder 学习笔记

    C++ Builder是一款集成开发环境,特别适合用于创建Windows桌面应用程序。在C++ Builder中学习和使用...在学习C++ Builder时,了解如何与Windows API交互是很有价值的,它可以帮助你更好地理解和扩展C++ Builder的功能。

    C++专用学习书 编程专用

    9. **C++11及其更新**:书中可能涵盖C++11标准引入的新特性,如lambda表达式、右值引用、auto关键字、强类型枚举等,以及后续标准C++14、C++17、C++20中的新功能。 10. **实践项目**:为了巩固理论知识,书中可能...

    C++枚举类型enum与enum class的使用

    C++枚举类型enum与enum class的使用 以下是C++枚举类型enum与enum class...C++枚举类型enum与enum class的使用是非常重要的知识点,它们之间的区别和使用方法都需要我们认真学习和掌握,以便更好地应用于实际开发中。

    C++学习资料 C++书籍, C++17学习

    综上所述,《Beginning C++17: From Novice to Professional》不仅是一本适合初学者入门的经典教材,同时也为有一定基础的开发者提供了深入学习C++17新特性的宝贵资源。通过本书的学习,读者能够全面了解C++17的核心...

    VC++ 实现枚举所有可见应用窗口,并支持发送消息进行关闭、最大化或者最小化

    在VC++编程环境中,开发人员经常需要处理与操作系统交互的任务,比如枚举系统中的所有可见应用窗口,并且能够对这些窗口执行操作,如关闭、最大化或最小化。这个任务涉及到了多个关键知识点,包括Windows API的使用...

Global site tag (gtag.js) - Google Analytics