c#和c++比较

 我来答
b_spike
2015-01-22 · TA获得超过3686个赞
知道大有可为答主
回答量:3724
采纳率:78%
帮助的人:1172万
展开全部
首先,C#的流程控制与C++没有任何区别,你根本就不用学(改进了一些,比如说switch要求更严格,不能缺break)
其次,C#对类型的要求更严格,这一点应该更好学(你不用担心字符还要算内码运算什么的了,C#中的char要转内码必须强制转换)
再次,C#面向对象的概念更严格,完全以类为单位(再也没有全局成员,如C++中的全局main函数)
还有,C#没有指针(这是重点),除非允许不安全(unsafe)代码。指针完全以引用替代,不允许类似C++这种指针变量的运算。
最后,C#类的概念和继承更简单化,取消了多继承,并增加了内存回收机制,一般不需要写析构函数什么的了。

关于面向对象的几个概念的转化(C++到C#需要注意的)
C#中的类最多只能继承自一个基类,不像C++可以继承多个,C#是使用接口实现多重继承的
C#中的属性相当于C++中你在public处写的getXXX和setXXX函数,可以为private成员赋值或取值
C#中的类可以设置访问级别(默认internal,还可以是private或public等),C++没有(类默认就是public的)
C++中的纯虚函数(后面写=0的函数)=C#中的抽象(abstract)函数
C++中的抽象类=C#中的抽象(abstract)类
C++中的虚基类=C#中的接口
C#一般不用友元,而是使用命名空间的形式(同时新增了internal访问级别标识),不同命名空间也可以成为友元
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式