C类与C++类之比较.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C类与C类之比较

C#类与C++类之比较 许天兵 (山东财政学院) 摘 要:C#是微软公司伴随其. NET战略推出的一种全新语言,是一种先进的,面向对象的开发语言,能够方便快捷地建立基于微软网络平台的各种应用和在网络间互相调用的WEB服务。C#可以更好地帮助开发人员避免错误,提高工作效率,同时具备C++的强大功能。C#与C++都是面向对象的语言,因此类在这两种语言中都有非常重要的地位。本文,我将对比C++和C#中的类,并着重说明微软在C#类中引入的新特性。 关键词:C# C++ 类 面向对象 1 新一代开发语言C# 作为微软的网络服务平台.NET战略的重要组成部分,微软推出了一种命名为C#(发音为C Sharp)的新开发语言。C#是一种先进的、面向对象的语言,通过它可以帮助开发人员快速建立大范围的基于网络平台的应用,并且提供大量的开发工具和服务帮助开发人员实现各种基于计算和通信的企业级应用程序。 由于C#是一种功能强大的面向对象的开发语言,所以C#既可以广泛适用于高层商业应用,也可以适用于底层系统的开发。通过C#内置的强大功能可以方便地开发各种组件,将传统的应用转变为基于网络的应用,并且能够通过互连网与其它语言开发的各种系统集成,或是作为服务被其他开发语言所开发的应用调用。因此C#在微软.NET框架中占有非常重要的地位。 对于数量众多的C++程序员来说,C#是他们过渡到网络计算环境的最佳选择。因为C#是以C++为基础,并吸收了当今优秀的开发语言的特点而形成的新语言。它既保留了C++效率高、功能强大的优点,又吸收了其他语言(如JAVA、VB)的快速开发、网络计算等优点,具有自己独特的优势。熟悉C++的程序员再学习C#将是一个非常容易的过程,熟悉JAVA的程序员也可以比较快速的学习C#。由于C#与C++都是面向对象的语言,因此类在这两种语言中都是一个非常重要的概念,也是学习过程中的一个重点。本文将对C++和C#的类作一些比较,并着重说明微软在C#类中引入的新特性。 2 C#类与C++类的对比 C#语法风格源自C++,所以C++程序员学习C#代码不会感到很困难。C#代码中的类定义和类实现代码都包含在同一文件模块中,不再有像C++那样的全局函数。在C++中,程序员可以显式地创建构造函数,拷贝构造函数,重载操作符,使用模板等等。而在C#中,微软力求使类本身的定义更加灵活而减少程序员使用方面的麻烦。大部分C++特性在C#中都有对应,但编写代码却更加容易。 我们可以先观察一下C#类中都存在哪些类成员。类成员包含类本身声明的成员以及继承自直接基类的成员。类成员可分为以下几种: 常量——实现与类相关的常数值 字段——实现类中的变量 方法——实现类可以执行的计算和操作 属性——定义命名标志以及读取写入这些标志的操作 事件——定义可以由类产生的通告 索引器——允许类实例可以采用与数组的同样的方式被索引 运算符——定义可对类实例使用的表达式运算符 实例构造函数——实现初始化类实例所需的操作 静态构造函数——实现了初始化类本身所需的操作 析构函数——实现了销毁类实例前所需的操作 类型——定义类中的局部类型 从C#中可以应用的类成员中可以看出,C#中除了保留C++的类成员外还进行了扩展,引入了诸如属性、事件等新的成员。按照类成员以及类的声明和使用,本文将对C#类与C++类作一比较。 2.1 类声明 (1) 在C++中使用xxx.h头文件来声明类,在xxx.cpp文件中实现类的代码,在需要引用类定义的地方使用#include语句包含相应的头文件。在C#中则借鉴了JAVA的做法,类的声明与实现代码被放在同一文件xxx.cs中,取消了头文件以减少程序维护的困难。 (2) 在C++中必须保证类名称互不冲突,否则将引起编译错误。在C#中引入命名空间分层次命名的概念,只要求同一命名空间中的类名不冲突。 (3) 在C++中类声明结束后需要在最后的大括号后面用分号结尾。在C#中则可用可不用,往往会省略。 (4) 在C++中没有针对类本身的访问修饰符。C#对此了改变,可以附加类访问修饰符来限制对类实例的访问权。C#设定8个类访问修饰符: 公有(public)——可以被所有其它的类访问 私有(private)——只有类成员才能访问 保护(protected)——只有类成员和继承类成员可以访问 内部(internal)——只有同一模块内部的成员才能访问 内部保护(protected internal)——只有同一模块内部的类成员和继承类成员可以访问 密封(sealed)——类不能再继承。无论直接或间接地将它作为基类,C#编译器都会跳错 抽象(abstract)——与C++的虚类或虚方法(virtual)相似,抽象类不能直接实例化,抽象函数含

文档评论(0)

cuotian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档