C++之数据类型篇3

本来上一篇就应该写完的,奈何我的密集恐惧症实在太严重了,大段大段的看得我都想睡觉了。所以,我把复合数据类型分出来了,这样看起来心情舒畅,吃嘛嘛香。

这次,我要说的是复合类型之结构。

复合类型的结构体就能体现出C和C++的巨大差异了,我总认为这是C++向OPP迈进一步的新纪元。

目录

1、结构的声明和初始化

2、结构的属性


1、结构的声明和初始化

struct 结构类型名称

{

结构成员;

结构成员;

};

例如,struct inflatable

{

char name[20];

float volume;

double price;

};

变量声明有2种方式:①C风格 ②C++风格

C风格: struct infatable goose;

C++风格: infatable goose;

初始化可以在结构变量声明的时候初始化,也可以声明之后;例如,

infatable guest = {

"Glorious Gloria",

1.88,

29.99

}; //注意,这里用的逗号隔开。同时,结构变量的数组成员不能拿出来单独赋值。但是可以通过使用strcpy函数,或者定义为string类型赋值。初始时,不能缩窄转换。

(对象来了!)C++的结构和类有完全一样的性质。细微的差异是结构默认是pulic属性修饰,而类是private修饰。参考文章[1]细说了他对C++结构和类的区别理解。

结构也可以有自己的构造函数、也可以有自己成员函数,还可以运算符重载...

2、结构的属性

结构变量是可以赋值给另一个相同类型的结构的。但是数组就不可以!

共用体:可以存储不同的数据类型,但是同时存储其中的一种类型。

枚举:用法和结构类似。用于创建符号常量。

声明枚举类型: enum 枚举类型

{

枚举成员,

枚举成员, //注意和结构的差异,这里用的逗号

枚举成员

};

例如,enum spectrum{ red,orange,yellow};

其中,red和orange,yellow作为符号常量,他们对应的整数值从0开始。

枚举量可以转换为整型,但是整型必须强制转换为枚举类型。


参考文章:

【1】C++中结构体与类的区别(struct与class的区别)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值