C++中Class和Structure的区别?

Neil_wyh 2008-07-19 03:07:32
C++ primer第四版中是这样描述的:The only difference between a class defined with the class keyword or the struct keyword is the default access level: By default, members in a struct are public; those in a class are private.

既然他们之间的差别这么微小,是不是以后只要用Class或者Structure之一就行了呢?
为啥要保留Structure在C++中哦?
...全文
512 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeanHwang 2008-07-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 elegant87 的回复:]
默认访问形式不同。
struct 默认的是public形式。
class 默认的是private形式!
[/Quote]
richbirdandy 2008-07-20
  • 打赏
  • 举报
回复
结了吧 除了默认访问权限不同外
一般情况用法 class接收带有C++特性的类型 而struct常接受pod类型
autumnal_mood 2008-07-20
  • 打赏
  • 举报
回复
默认访问级别和继承级别不同,保留Struct是为了兼容C语言。所以最好不用struct了。
summersdw1 2008-07-20
  • 打赏
  • 举报
回复
有两个却别的地方
1.默认成员保护级别不同
class 默认成员为private,struct默认派生为public
2.默认派生保护级别不同
class 默认派生为private,struct默认派生为public
phisherr 2008-07-20
  • 打赏
  • 举报
回复
保留struct是为了兼容C;

但是c++ 的设计者显然希望使用c++ 的人都把成员数据和成员函数尽量设成私有的,这样才能体现封装思想,也就是class关键字的用意所在。
james_li85 2008-07-20
  • 打赏
  • 举报
回复
默认访问级别和继承级别不同,其它的没区别
elantion 2008-07-19
  • 打赏
  • 举报
回复
虽然我初学,但我知道CLASS与STRUCT的区别只是共用和私用的区别,豪迈一点,以后就用CLASS吧
如果想将CLASS变成PUBLIC的,只要在{}内加上一行 Public: 就可以了。
海上的云 2008-07-19
  • 打赏
  • 举报
回复
轮到我就过来顶好了
allendujinxi 2008-07-19
  • 打赏
  • 举报
回复
楼主 都看英文版的啊。。。
我只能中文版的看着
hemiya 2008-07-19
  • 打赏
  • 举报
回复
在C++中应该尽量用class.
因为class是种类的意思,struct是结构。你用struct关键字写类,虽然语法上没区别,但是容易产生误解。
Neil_wyh 2008-07-19
  • 打赏
  • 举报
回复
原来仅仅就是为了兼容C啊...
那干脆全部用Structure好了
呵呵
fangbing007 2008-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xkyx_cn 的回复:]
确实struct 与 class的唯一区别就是默认访问控制不同

保留struct是为了兼容C
[/Quote]


同意!!!
yr5018 2008-07-19
  • 打赏
  • 举报
回复
同意一楼的
class和struct在C++中是可以通用的,C中的struct不能包含函数,C++中可以
C++中保留struct就是为了兼容C
tyronedong 2008-07-19
  • 打赏
  • 举报
回复
呵呵,我也看到这里了,书上说了,是为了兼容C语言
wjb_yd 2008-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xkyx_cn 的回复:]
确实struct 与 class的唯一区别就是默认访问控制不同

保留struct是为了兼容C
[/Quote]
elegant87 2008-07-19
  • 打赏
  • 举报
回复
默认访问形式不同。
struct 默认的是public形式。
class 默认的是private形式!
xkyx_cn 2008-07-19
  • 打赏
  • 举报
回复
确实struct 与 class的唯一区别就是默认访问控制不同

保留struct是为了兼容C

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧