C++、Java和C#的语法比较

C++、Java和C#的语法比较

ID:37708550

大小:35.00 KB

页数:6页

时间:2019-05-29

C++、Java和C#的语法比较_第1页
C++、Java和C#的语法比较_第2页
C++、Java和C#的语法比较_第3页
C++、Java和C#的语法比较_第4页
C++、Java和C#的语法比较_第5页
资源描述:

《C++、Java和C#的语法比较》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、下表包含C++和C#功能之间的重要比较。如果您是一位C++程序员,此表将为您提供这两种语言的最重要差异。注意  C++和C#项目派生于不同的项目模型。有关C++和C#项目之间差异的信息,请参见项目中的项管理和使用解决方案资源管理器。功能参考主题继承:类只能继承一个基类中的实现。另外,类或接口可以实现多个接口。 数组:声明C#数组和声明C++数组的语法不同。在C#中,“[]”标记出现在数组类型的后面。bool类型:bool类型和其他类型(特别是int)之间没有转换。long类型:在C#中,long数据类型为64位,而在C++中为32位。struc

2、t类型:在C#中,类和结构在语义上不同。struct是值类型,而class是引用类型。 switch语句:与C++中的switch语句不同,C#不支持从一个case标签贯穿到另一个case标签。delegate类型:委托与C++中的函数指针基本相似,但前者具有类型安全,是安全的。从派生类调用重写基类成员。 使用new修饰符显式隐藏继承成员。声明重写方法需要有override关键字。预处理器指令用于条件编译。C#中不使用头文件。异常处理:使用finally语句。 C#运算符:C#支持其他运算符,如is和typeof。它还引入了某些逻辑运算符的不同

3、功能。 关键字extern的使用。关键字static的使用。在构造基类上替代C++初始化列表的方法。C#程序的常规结构:命名空间、类、结构、委托和枚举。Main方法和C++中的main函数的声明方式不同。方法参数:C#支持ref和out参数,这两个参数取代指针通过引用传递参数。 在C#中只在不安全模式下才使用指针。unsafe在C#中以不同的方式执行重载运算符。字符串:C#字符串不同于C++字符串。stringforeach关键字使您得以循环访问数组和集合。foreach,inC#中没有全局方法和全局变量:方法和变量必须包含在类型声明(如cla

4、ss或struct)中。C#中没有头文件和#include指令:using指令用于引用其他未完全限定类型名的命名空间中的类型。C#中的局部变量在初始化前不能使用。析构函数:在C#中,不能控制析构函数的调用时间,原因是析构函数由垃圾回收器自动调用。构造函数:与C++类似,如果在C#中没有提供类构造函数,则为您自动生成默认构造函数。该默认构造函数将所有字段初始化为它们的默认值。 C#不支持位域。C++位域C#的输入/输出服务和格式设置依赖于.NETFramework的运行时库。 在C#中,方法参数不能有默认值。如果要获得同样的效果,请使用方法重载。

5、1.继承:C++支持多继承,C#类只能继承一个基类中的实现但可以实现多个接口。2.数组:声明C#数组和声明C++数组的语法不同。在C#中,“[]”标记出现在数组类型的后面。3.数据类型:在C++中bool类可以与整型转换,但C#中bool类型和其他类型(特别是int)之间没有转换。long类型:在C#中,long数据类型为64位,而在C++中为32位。4.struct类型:在C#中,类和结构在语义上不同。struct是值类型,而class是引用类型。5.switch语句:与C++中的switch语句不同,C#不支持从一个case标签贯穿到另一个

6、case标签。 6.delegate类型:委托与C++中的函数指针基本相似,但前者具有类型安全,是安全的。7.从派生类调用重写基类成员。base8.使用new修饰符显式隐藏继承成员。9.重写方法需要父类方法中用virtual声名,子类方法用override关键字。10.预处理器指令用于条件编译。C#中不使用头文件。C#预处理器指令11.异常处理:C#中引入了finally语句,这是C++没有的。12.C#运算符:C#支持其他运算符,如is和typeof。它还引入了某些逻辑运算符的不同功能。13.static的使用,static方法只能由类名调用

7、,改变static变量。14.在构造基类上替代C++初始化列表的方法。15.Main方法和C++及Java中的main函数的声明方式不同,Main而不能用main16.方法参数:C#支持ref和out参数,这两个参数取代指针通过引用传递参数。 17.在C#中只能在unsafe不安全模式下才使用指针。18.在C#中以不同的方式执行重载运算符。19.字符串:C#字符串不同于C++字符串。20.foreach:C#從VB中引入了foreach关键字使得以循环访问数组和集合。21.C#中没有全局方法和全局变量:方法和变量必须包含在类型声明(如class

8、或struct)中。22.C#中没有头文件和#include指令:using指令用于引用其他未完全限定类型名的命名空间中的类型。23.C#中的局部变量

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。