问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-25 20:45

我来回答

5个回答

热心网友 时间:2022-06-17 06:28

对c++来说,结构体基本相当于一个只有public成员的类,即无法支持访问控制。也就是说,c++中你用结构体写的,都可以用类完成。
java中的类,对于c++的类
java普通对象方法(非static,非final)对应于c++类普通的 virtual 方法
java抽象方法/接口声明方法,对应于 c++类virtual fun()=0;的形式

热心网友 时间:2022-06-17 06:28

C++中的struct对C中的struct进行了扩充,除了struct成员默认权限是public,而class默认是private,C++中的struct与class功能几乎等价,同样的,也对应Java中的class。
按C++设计思路,struct的保留是为了C程序员在C++语言中找到归属感。

热心网友 时间:2022-06-17 06:29

C++不是完全面向对象的语言,而java是完全面向对象的语言,从某种角度来说,可以把C++中的结构体当做java中的类理解。因为他们的思想确实很像。但是它们不是一个东西,这要涉及到其内部存储等问题了...

热心网友 时间:2022-06-17 06:29

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

热心网友 时间:2022-06-17 06:30

没有特别合适的对应的结构体

c++的类对应java的类,结构体没有对应的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
淘宝天猫11月5日红包密令还有哪些? 宇兰床垫怎么样 宇兰床垫质量如何 武义大河容城电子计价秤120Kg计价秤价格多少? 在线称重机 容城电子秤公斤调市斤方法 学汽修有没有前途 喜欢一个人,但是不知道他喜不喜欢我 我喜欢一个男生 不知道他喜不喜欢我 我是不会问 也不会写书的 【六年 ... 三七分露额短发适合哪些脸型的男士留? Java里“类”和“对象”定义分别是什么?我学过C语言,可以用里面的东西解... java ssh里struct问题 Java的工程模式,struct和还有什么设计模式。。为什么我买的java书上都没有??????????? 我也是学Java的,我知道三层架构,那个struct,还有spring,我知道的少,你能简单告诉我点吗? 我已经学了半年的Java编程,但是不太懂struct框架的应用。单纯的jsp网页跟struct结构的具体区别是什么? class类和struct的区别是什么?java是c语言编写的,那么java的类如何用c语言的struct实现的? 请问本人会java,谁能给我以java的形式讲一讲c语言中的struct结构 打印机系统默认改A5如何更改? 打印机如何设置自动识别打印A4、A5纸 打印电子书时怎样调纸张大小?A4调A5 兄弟7030打印机如何打A5纸? 如何将A4的纸张在打印的时候设置成A5的大小 ,每页4版,上下用分割线分开... 建行分期通已审批正在调额度是什么意思? 中信证券怎么样?新手 中信证券好进吗?需要什么条件?哪个部门好一些?未来发展如何? 梦见同学故意掉到厕所里沾了一定屎 请问我新手,中信证卷价比较高,其一次炒股,能买点么 中信证券怎么开户? 梦见同学掉进厕所 自己被人拿水管打头 中信证券开户怎么开 Java中的类与C语言中的结构体差不多,为什么Java不借鉴C中的结构体呢》? 简述学前儿童体育教学活动的组织要求 如何组织幼儿体育活动 幼儿园体育活动的组织形式包括哪些 幼儿园户外体育区域活动的组织与实施 冰箱外冷内部不制冷为何? 三门冰箱中间不制冷哪儿的原因?其它都正常 福建哪有公办的有烹饪工艺与营养专业的大专 今年福建省有哪几所烹饪大专 福建三明沙县农校烹饪有大专吗 福州专科烹饪学校是哪所学校?福建好像比较少? 有烹饪专业的大专学校有哪些? 福建有哪些职业技术学院公立的里面有烹调这个专业的 福建地区有哪些专科学校有烹饪专业的? 比较好的烹饪专业专科大学有哪些? 福建厨师学校有哪些?最好的一所是哪所? 烹饪专科大学有那些 小米CC9pro相册全部删除了怎么恢复? 古风情感短句 最美最浪漫的情话古文