【C的结构体与C++的类的理解】

在学习过程中,用到了xx.xx的时候突然想到这两个的关系,一开始以为这两者存在类比关系,但仔细一想,两者是完全不同的概念,本人理解如下,如果有误,欢迎指出,谢谢!
1.首先C本身是面向过程的语言,而类是面向对象语言的抽象产物,所以实际上上类是不可能出现在C当中,只能出现在像C++半面向对象,java面向对象等等这些语言中。
2.谈谈两者的本质:
(1)结构体:结构体是C中人们把一些东西共有的变量存放到一起来定义,就像一个柜子,每一层的抽屉对应一种变量,然后人们在每层个抽屉存放变量所缩影的相应的值,比如说这个柜子是一个书柜,每一层是书的不同分类,比如科普,生活,杂志。。。当人们放书的时候,就是给结构体里面的变量初始化数值,但这个书柜也可以存放别的东西,比如工具,但通常人们习惯把有相关联的东西放到一起,但并不代表不可以这样做,只是不符合人类的思维。所以结构体只是一个加强版的数据类型而已。
(2)类:类是一类东西所共同拥有的特征、属性(不同的特征属性是不可能放在一个类里的,这里与结构体不同)且可能具有一定功能(即可以用函数表现这个类可以实现的功能,这个事结构体没有的)抽象概念,而类的讨论离不开对象,用这些抽象的概念来具体出一个对象,所以有new的操作。比如人类就是人的抽象概念,而我们每个个体所具有的不同特征,比如样貌,身高,年龄等等,由这些特定的特征具体组合而成的一个人,就是对象,比如身高180,年龄18,姓名小明…等等的特征所构成的人,这个人就是由人类这个类定义出来的一个对象,而且小明还会唱跳rap篮球,即具有一定的功能(这里的功能定义比较广泛,请勿杠)所以由类是一群事物的抽象概念,类里面存放的是这些事物共有的特征,我们用变量来体现,比如int age,String name,同时还具备某些功能,比如定义一个run()函数,代表这个类具有跑的功能。
3.所以结构体与类是两个概念的东西,以上就是我的理解,如果有误,请务必指出,十分感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值