c与c++的struct区别

8 篇文章 0 订阅

看了一些文章,总结了大概这四点,实际上是三点,两外一点说的是C++中的struct和class的区别

  • 1. C++中struct是抽象数据类型(ADT),可以将struct当成类来处理,可以包含类的所有东西,比如构造函数、析构函数、友元等,可以继承也可以实现多态,只是因为有了class一般不用。C语言中:struct是用户自定义数据类型(UDT),C语言struct不是类,不可以有函数,没有权限设置也不能使用类的特征例如public等关键字,是一些变量的集合体,可以封装数据却不可以隐藏数据。
  • 2. C++ struct里面成员初始化的形式和类是相同的,不可以直接初始化,就是不可以定义成员的时候同时初始化。C语言中struct中的某个类型(例如int)不可以直接初始化。
  • 3. C++中struct和class的区别
    (1)class中的成员默认是private,而struct的成员默认为public。
    (2)class默认的继承方式是private,而struct的默认继承方式是public。
    (3)class还可以用于表示模板类型,struct则不行。在用模版的时候只能写template 或template不能写template 。
  • 4. struct作为类的一种特例是用来自定义数据结构的。一个结构标记声明后,在C中必须在结构标记前加上struct,才能做结构类型名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值