C++自定义数据类型方法详情

目录
  • 1、typedef声明
  • 2、枚举类型enum

1、typedef声明

typedef用于给已有的类型一个新的名字,这个新的名字可以是自己定义的,

其语法为:

typedef 现有类型 多个新的类型名称

中现有类型应该是已经定义好的类型,多个新的类型名称表示可以把这个现有的类型多个新的名字,比如下面给int类型两个新的名字,分别为IntDataXIntDataY,并使用新的名字定义变量x和y:

typedef int IntDataX, IntDataY;
IntDataX x = 10;
IntDataY y = 20;
printf("%d %d", x, y);

上述代码输出为10 20。

2、枚举类型enum

有些情况下,数据的取值仅有几种确定的情况,比如性别数据仅有男和女,月份数据仅有1到12个值。

enum类型的使用语法如下:

enum 枚举类型名 {枚举常量列表}

声明枚举类型时可以给枚举常量部分或全部赋值(声明后就不能再赋值了);如果全都不进行赋值系统默认从0开始依次赋值;如果部分赋值则没赋值的枚举常量比前面赋值的枚举常量值大1:

enum Human {MAN=2, WOMAN};

现在,来定义枚举常量:

Human man = MAN;
Human woman = WOMAN;
printf("%d", man);
printf("%d", woman); 

分别输出2和3,对应枚举常量的值。

也可以直接的使用枚举常量:

printf("%d", MAN);
printf("%d", WOMAN);

依旧分别输出2和3。

到此这篇关于C++自定义数据类型方法详情的文章就介绍到这了,更多相关C++自定义数据类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C++ 实现自定义类型的迭代器操作

    ##动机 我们知道STL实现了很多算法(#include<algorithm>),如果项目是基于STL构建那么能够最大化使用现有代码当然是最好的.在STL中容器和算法之间的桥梁是迭代器.所以在定义好自定义类型的容器后,接下来就是迭代器的实现. STL中的迭代器 迭代器模式是一种经典的设计模式,而STL的迭代器实现用到了模板的一些特性和技能,在这里稍微介绍一下 下面是STL中结构体iterator的定义,这么定义是给后面的算法多态和萃取时(具体见书中介绍)使用的. 其中的_Category 和_

  • 在C++中自定义宏的简单方法

    可以使用宏定义没有返回值的"函数".例如: 复制代码 代码如下: #define PrintMax(a, b) \   do \   { \     int x = a, y = b; \     printf("Max: %d\n", x > y ? x : y);\   } while (0) // ... PrintMax(3, 4); 这样的"函数"与真正意义上的函数有本质的区别,因为宏是一个编译前行为,仅仅是编译前对文本进行替换.

  • C/C++ Qt 自定义Dialog对话框组件应用案例详解

    在上一篇文章 <C/C++ Qt 标准Dialog对话框组件应用> 中我给大家演示了如何使用Qt中内置的标准对话框组件实现基本的数据输入功能. 但有时候我们需要一次性修改多个数据,使用默认的模态对话框似乎不太够用,此时我们需要自己创建一个自定义对话框,这类对话框也是一种窗体,所以可以在其上面放置任何的通用组件,以实现更多复杂的开发需求. 目前自定义对话框与主窗体的通信有两种方式,一种是通过函数实现通信,另一种则是通过信号实现通信,我们以通过函数通信为基础,解释一下如何实现跨窗体通信. 首先需要

  • C/C++ Qt TableDelegate 自定义代理组件使用详解

    TableDelegate 自定义代理组件的主要作用是对原有表格进行调整,例如默认情况下Table中的缺省代理就是一个编辑框,我们只能够在编辑框内输入数据,而有时我们想选择数据而不是输入,此时就需要重写编辑框实现选择的效果,代理组件常用于个性化定制Table表格中的字段类型. 在自定义代理中QAbstractItemDelegate是所有代理类的抽象基类,我们继承任何组件时都必须要包括如下4个函数: CreateEditor() 用于创建编辑模型数据的组件,例如(QSpinBox组件) SetE

  • 解决易语言转换到C++ 自定义数据类型

    自定义数据类型如下 .版本 2 .数据类型 数据 .成员 坐标, 坐标_数据类型 .数据类型 坐标_数据类型 .成员 x, 小数型 .成员 z, 小数型 .成员 y, 小数型 这里的自定义数据类型下的"数据"类型下的"坐标"成员引用自定义数据类型"坐标_数据类型" 子程序如下 .版本 2 .子程序 自己数据 .参数 返回数据, 数据, 参考 返回数据.坐标.x = 1 返回数据.坐标.z = 2 返回数据.坐标.y = 3 这里的子程序内的参数&

  • C语言编程C++自定义个性化类型

    目录 自定义类型 结构体 声明一个结构体类型 特殊声明 结构体自引用 结构体变量的定义和初始化 结构体内存对齐 结构体传参 位段 枚举 联合(共用体) 联合类型的定义 联合类型的声明 联合的特点 判断当前机器的大小端存储[] 自定义类型 结构体 结构是一些值的集合,这些值称为成员变量.结构的每个成员可以是不同类型的变量 声明一个结构体类型 //声明一个学生类型,是想通过学生类型来创建学生变量(对象) //描述学生就得有属性啥的.名字,电话,性别,年龄 struct Stu { char name

  • C++自定义数据类型方法详情

    目录 1.typedef声明 2.枚举类型enum 1.typedef声明 typedef用于给已有的类型一个新的名字,这个新的名字可以是自己定义的, 其语法为: typedef 现有类型 多个新的类型名称 中现有类型应该是已经定义好的类型,多个新的类型名称表示可以把这个现有的类型多个新的名字,比如下面给int类型两个新的名字,分别为IntDataX和IntDataY,并使用新的名字定义变量x和y: typedef int IntDataX, IntDataY; IntDataX x = 10;

  • Golang通脉方法详情

    目录 方法和接收者 指针类型的接收者 值类型的接收者 方法和函数 任意类型添加方法 方法继承 方法重写 结构体和方法补充 方法和接收者 Go语言中的方法(Method)是一种作用于特定类型变量的函数.这种特定类型变量叫做接收者(Receiver).接收者的概念就类似于其他语言中的this或者 self. Go 语言中同时有函数和方法.一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针.所有给定类型的方法属于该类型的方法集 方法只是一个函数,它带有一个特殊

  • Golang通脉之方法详情

    目录 方法和接收者 指针类型的接收者 值类型的接收者 方法和函数 任意类型添加方法 方法继承 方法重写 结构体和方法补充 方法和接收者 Go语言中的方法(Method)是一种作用于特定类型变量的函数.这种特定类型变量叫做接收者(Receiver).接收者的概念就类似于其他语言中的this或者 self. Go 语言中同时有函数和方法.一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针.所有给定类型的方法属于该类型的方法集 方法只是一个函数,它带有一个特殊

  • 一步一步跟我学易语言之自定义数据类型

    自定义数据类型 什么是"自定义数据类型"?顾名思义,就是用户可以随时在程序中自行定义新的数据类型.自定义数据类型时需要设置数据类型的名称及其成员.数据类型成员各属性的设置方法等同于变量设置时相应属性的设置方法. 双击"程序"中的"自定义数据类型"就可以进入自定义数据类型的界面: 在工作区点击鼠标右键,弹出菜单选择"新数据类型": 就可以创建出一个新的数据类型: 下面让我们来说一下,如何在这个数据类型中加入数据吧. 首先,&qu

  • Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解

    从Laravel 5.5+开始,加入了API Resources这个概念. 我们先来看一下官网如何定义这个概念的: When building an API, you may need a transformation layer that sits between your Eloquent models and the JSON responses that are actually returned to your application's users. Laravel's resour

  • Go语言中的字符串拼接方法详情

    目录 1.string类型 2.strings包 2.1 strings.Builder类型 2.2 strings.Reader类型 3.bytes.Buffer 3.1 bytes.Buffer:写数据 3.2 bytes.Buffer:读数据 4.字符串拼接 4.1 直接相加 4.2strings.Builder 4.3 strings.Join() 4.4 bytes.Buffer 4.5 append方法 4.6 fmt.Sprintf 5.字符串拼接性能测试 1.string类型 s

  • C语言关于自定义数据类型之枚举和联合体详解

    目录 前言 枚举 枚举类型的定义 枚举类型的优点 枚举类型的使用 枚举中需要注意的点 联合体 联合体类型的定义 联合体的特点 联合体的使用 联合体存在内存对齐 结语 前言 在C语言的自定义数据类型中,除了我们最为常用的结构体之外,还有两个比较少用的自定义数据类型,分别为枚举和联合体(也可以称为共用体). 今天,我们一起看学习一下相关的知识吧! 枚举 什么是枚举? 顾名思义,就是一一列举,把所有的情况,所有的取值,一一列举出来. 在我们生活中,有不少的东西是可以全部列举出来的. 如一个星期有七天,

  • Vue中使用 class 类样式的方法详情

    在vue中为我们提供了 几种方式来使用class类的样式 1. 布尔值 我们先正常在 style 标签中 书写一个类名为 active的样式 <style> .active{ color: red; font-size: 20px; font-style: normal; } </style> 在我们的 script 标签中创建一个 vm 实例,在实例的 data 数据中心写上 isActive:true , true 表示使用此样式,false 则表示不使用 <script

  • mybatis-plus如何配置自定义数据类型TypeHandle

    目录 如何配置自定义数据类型TypeHandle 1.背景 2.举例 3.TypeHandle配置 自定义TypeHandler的使用笔记 类型转换器还可以通过注解配置java类型和jdbc类型 如何配置自定义数据类型TypeHandle 1.背景 mybatis-plus在mybatis的基础的上,做了全面增强功能,极大的提高了我们的开发效率.有时候我们使用的实体字段类型,与数据库创建的字段类型无法对应上,这时候就需要配之自定义的类型处理类,来处理代码和数据库之间的数据流转. 2.举例 我们有

  • Vue插件使用方法详情分享

    目录 一.应用场景 二.使用方法 1.使用自定义插件 2.使用第三方插件[elementUI] 一.应用场景 为vue添加全局功能,比如添加全局的方法和属性.混入全局组件.添加全局资源(指令.过滤器.过渡等).添加第三方的类库(element-ui等) 二.使用方法 1.使用自定义插件 <1>.创建js文件 export default {     install(Vue) {                  // 自定义全局过滤器(截取前四位A)         Vue.filter('m

随机推荐