C中结构体和C++中结构体的区别

直接进入主题:
    C++中结构体和类差不多是相同的,主要区别就是结构体的默认属性是public,二类的默认属性是private。
C和C++中结构体的区别主要有以下几点:

    1、C中结构体不能有成员函数,而C++中可以有,甚至可以有虚函数。所以C中不存在构造函数、虚构函数和this指针。
    2、C结构体只有public一种权限,而C++结构体有public、private、protect三种权限。

    3、C结构体没有继承关系,而C++结构体可以从类或者其他结构体继承而来。
    4、C结构体不能在结构体中初始化成员变量,而C++结构体可以。

    5、C结构体在定义时除非使用typedef,否则之后定义变量都必须跟上struct + 结构体名,而C++结构体可以直接使用结构体名,不受限制。
    6、C结构体不能有静态成员变量,而C++结构体可以有。

    7、C结构体的空结构体sizeof为0,C++的sizeof为1。

    8、数据隐藏,C结构体不存在数据隐藏这个概念,C++结构体有,因为C++面向对象。
    9、访问修饰符,C中没有访问修饰符,因为这些修饰符不被语言支配,C++中有,因为它是C++内置的。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值