为了账号安全,请及时绑定邮箱和手机立即绑定

c语言的结构体是不是和java的类是类似的

c语言的结构体是不是和java的类是类似的

C
dky 2016-09-06 22:06:43
查看完整描述

4 回答

已采纳
?
vaneX

TA贡献4条经验 获得超0个赞

在C++中,结构体 和 类,是基本相同的

结构体和类的区别在于:

结构体的变量、属性的默认状态是 protected

而类的变量属性,默认是 public

综上,结构体和类的本质是一样的,只是默认的权限不一致

查看完整回答
反对 回复 2016-09-07
  • dky
    dky
    类的变量默认是包访问权限好么
?
kid123

TA贡献7条经验 获得超1个赞

可以这么理解,还是有本质区别的。但是你可以这么理解。

查看完整回答
1 反对 回复 2016-09-06
?
onemoo

TA贡献883条经验 获得超454个赞

C的struct和Java的class都是为了进行数据抽象——如果你这样看的话,那它们确实有些类似。

但还是有关键的不同:Java的class更多地表现出“面向对象”的特性,而C的struct只是个支持数据抽象的结构,struct本身并不支持面向对象的操作。当然面向对象本质上是一种编程思想,你也可以用struct实现类似面向对象的功能。


另外,被采纳的那个答案说错了:

在C++中class和struct确实是几乎一样的,你用这两个关键字都可以定义类。但是用class定义的类,其成员默认是private的;用struct定义的类,其成员是public的

查看完整回答
反对 回复 2016-09-08
  • dky
    dky
    正解,这两天搞明白了, mark一下,防止别人被之前的采纳误导,c++默认的访问权限确实是私有
?
给自己一个理由_

TA贡献2条经验 获得超0个赞

好像结构体中不可以有函数,而类可以,且类有,封装,继承,多态

查看完整回答
反对 回复 2016-09-08
  • 4 回答
  • 0 关注
  • 5224 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信