C++中的结构体对应与java中的什么?

对c++不数据,看有些算法说用结构体来表示事物,感觉像java中定义的类,我这样理解对吗?他们有什么异同吗,望指教,最好具体易懂些... 对c++不数据,看有些算法说用结构体来表示事物,感觉像java中定义的类,我这样理解对吗?他们有什么异同吗,望指教,最好具体易懂些 展开
 我来答
heptnaol
2014-12-05 · TA获得超过7263个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1825万
展开全部
对c++来说,结构体基本相当于一个只有public成员的类,即无法支持访问控制。也就是说,c++中你用结构体写的,都可以用类完成。
java中的类,对于c++的类
java普通对象方法(非static,非final)对应于c++类普通的 virtual 方法
java抽象方法/接口声明方法,对应于 c++类virtual fun()=0;的形式
百度网友df9d655
推荐于2017-11-27 · TA获得超过159个赞
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:143万
展开全部
C++中的struct对C中的struct进行了扩充,除了struct成员默认权限是public,而class默认是private,C++中的struct与class功能几乎等价,同样的,也对应Java中的class。
按C++设计思路,struct的保留是为了C程序员在C++语言中找到归属感
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caodaoyou5
2014-12-05
知道答主
回答量:20
采纳率:0%
帮助的人:9.1万
展开全部
C++不是完全面向对象的语言,而java是完全面向对象的语言,从某种角度来说,可以把C++中的结构体当做java中的类理解。因为他们的思想确实很像。但是它们不是一个东西,这要涉及到其内部存储等问题了...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2015-08-26 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1964万
展开全部

Effective Java里说C/C++里的联合、结构体在Java中都是用类实现的。可以看一下这本书。

另外Javolution这个第三方库提供了Struct实现类似C/C++中struct的功能。

C Struct的一个简单例子:

 enum Gender{MALE, FEMALE};
 struct Date {
     unsigned short year;
     unsigned byte month;
     unsigned byte day;
 };
 struct Student {
     enum Gender gender;
     char        name[64];
     struct Date birth;
     float       grades[10];
     Student*    next;
 };

Java的等价代码:

 public enum Gender { MALE, FEMALE };
 public static class Date extends Struct {
     public final Unsigned16 year = new Unsigned16();
     public final Unsigned8 month = new Unsigned8();
     public final Unsigned8 day   = new Unsigned8();
 }
 public static class Student extends Struct {
     public final Enum32<Gender>       gender = new Enum32<Gender>(Gender.values());
     public final UTF8String           name   = new UTF8String(64);
     public final Date                 birth  = inner(new Date());
     public final Float32[]            grades = array(new Float32[10]);
     public final Reference32<Student> next   =  new Reference32<Student>();
 }

参考:http://javolution.org/apidocs/javolution/io/Struct.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
frostfish425
2015-08-18 · TA获得超过124个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:123万
展开全部
没有特别合适的对应的结构体

c++的类对应java的类,结构体没有对应的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式