c++ struct 与class 区别

本文详细介绍了C++中struct与class的区别,包括默认继承权限、成员的默认访问权限等基本差别。此外还探讨了struct支持的特性,如成员函数、析构函数、继承、多态等,并给出了具体的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来自 http://soft.chinabyte.com/database/176/12586176.shtml

(1)默认继承权限,如果不指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理;

(2)成员的默认访问权限。class的成员默认是private权限,struct默认是public权限。以上两点也是struct和class最基本的差别,也是最本质的差别;


而且,struct还有以下特性:

   struct可以包含成员函数
   struct完全支持析构函数
   struct完全支持继承
   struct完全支持多态
   struct支持private、protected和public关键字
   如果是class的父类是struct关键字描述的,那么默认访问属性是什么?当出现这种情况时,到底默认是public
继承还是private继承,取决于子类而不是基类。class可以继承自struct修饰的类;同时,struct也可以继承自class修饰的类,继承属性如下列描述:
  [cpp]
  struct A{};
  class B:A{}; // private 继承
  class A{};
  struct B:A{}; // public 继承
  最后,那么到底是使用struct,还是使用class呢?这个看个人喜好,但是这里有一个编程规范的问题,当你
觉得你要做的更像是一种数据结构的话,那么用struct,如果你要做的更像是一种对象的话,那么用class。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值