您的位置:首页 > 编程语言 > C语言/C++

C++、Java和C#的特性比较

2007-06-29 18:56 363 查看
C++、Java和C#的特性比较(摘至 《Visual Studio .Net Framework Black Book》)

C++
Java
C#
具有不包含宏的预处理器不具有任何预处理器具有一个受限的预处理器
编译成本机代码在程序执行时进行JIT编译,编译成字节代码使用JIT编译方法,在首次使用或者安装时编译成中间代码
混合语言完全OO语言完全OO语言
支持多重继承只支持单一继承只支持单一继承
接口无语言支持接口有语言支持接口有语言支持
没有单一的基类所有类都从单一的对象类重继承而来所有类都从单一的对象类重继承而来
支持模板不支持模板不支持模板
操作符重载无操作符重载有限的操作符重载
可在bool和int类型之间转换不能进行bool到int的转换不能进行bool到int的转换
case标记使用整型类型case标记使用整型类型case标记使用整型类型,也可以使用字符串类型
支持枚举不支持枚举支持枚举
C风格的多维数组支持C风格的多维数组支持严格支持多维数组
通过指针或者引用,直接访问对象所有对象都通过引用来访问值和引用类型允许有效地给某些类型值传递
支持指针和引用仅支持引用引用支持;指针允许用于“不安全”的代码块中
支持变量列表不直接支持变量列表不直接支持变量列表
不支持属性通过代码约束支持属性在第一类语言特性中指出属性
不支持事件通过代码约束支持事件在第一类语言特性中指出事件
不支持委派不支持委派支持委派(与类函数指针等价)
//Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90);
//]]>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: