



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 浅谈c和c+异同 董昌源+刘疆+王仁鹤摘 要:the c+ programming language ,即为c+语言,c+语言是c语言的继承,在c语言的基础上,又对c语言的过程化程序设计进行了优化,既可以使用以抽象数据类型为特点的基于对象的程序设计,又可以使用以继承和多态为特点的面向对象的程序设计。c+语言不但完美地继承了父类的c语言,还可以进行基于面向对象过程化的程序设计,因此,c+语言不仅拥有计算机高效运行的实用性特征,而且还具有提高大规模程序的编程质量与程序设计语言的问题描述的能力。关键词:c;c+;面向对象在20世纪70年代中期,经
2、历了第一种计算机高级语言诞生事件的bjarne stroustrup在使用simula、algol中,受到了simula的类体系感、algol的结构的启发后,想要实现一种编程简单、正确可靠、运行高效、可移植性强的编程软件,于是,他以c为背景,以simula框架的设计思路为新软件的框架思想。1979年,bjame sgoustrup到了bell实验室,开始将c改良为具有独特类框架的cwc(c with classes)。1983年,该语言的开发完毕,获得巨大的成功。于是这个新兴语言被命名为c+。在那个时候的c+中,人们对类没有什么具体的概念,只知道类是可以支持数据封装的工具,对象则是数据封装的实
3、现。而现在,面向对象的程序设计是将数据和对该数据进行合法操作的一系列函数方法封装在一起,这就是一个类。成员对象是被定义在这个类中的一个变量,每个类中可以包含若干私有成员、公有成员及保护成员。当一个类被定义完毕,所有函数方法均封装在其内部,这个类就可以看成一个完整的实体单元使用。类内部的工作方法被完美地隐藏起来,使用此类的用户是看不到类是如何工作的,想要修改也没有办法,这就是类的封装特点。c+语言可以在现有的类的基础上声明新的类,新的类可以完美调用其声明的类中的函数,他可以在父类那里继承所有非私有的属性和方法,作为自己的成员,成为原有类的派生类,我们将被使用的那个类称为父类,而这个新的类就是子类
4、,这就是继承的思想。通过继承可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、更深入的程序开发,这就是类的继承特点。c+语言的执行过程中,对于多态的理解在同一操作作用于不同的对象,可以有不同的解释,也会产生不同的执行结果。在运行时,可以通过指向基类的指针来调用实现派生类中的方法。编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。c+语言的程序开发中为了方便测试,通过使用解释型的执行方式,使代码的逐条语句依次执行,以编译型的启动运行的方式
5、来生成程序最终的执行代码。在c+语言所修饰的类中,某些对象类所代表的事物或者概念都可以是抽象的。在使用private修饰数据或者函数的时候,只有在类中加入这个数据或函数的声明才被允许使用。类在与外部连接时,如果使用的是public修饰词,则本类与其他类都可以调用。在抽象的语言中,什么是对象是一个老生常谈的话题。对象在笔者看来,就是主对客观事物的某个实体进行描述所形成的一个实例化的代号,它可以作为一个单位,可以作为一个系统,这些元素共同组成了系属性,属性和服务方法是构成对象的两种要素,属性的实质是一个存储数据的数据项,服务的实质是一个操作方法序列。程序生成是编程平台将源码c+代码转换成计算机可以
6、识别的计算机语言,并将这种语言翻译变成可以运行的应用程序的过程。如果程序代码不出现问题,编译的结果也是没有error,那么通常一个debug功能键即可搞定这个过程。但在计算机运行的过程中该过程实际上分成两个步骤:第一步:是对程序使用编译器compiler进行编译,编译器将c+语句转换成机器码。第二步:使用链接器linker对程序进行链接,链接器将编译获得机器码与c+库中的代码进行匹配,如果查询到了相关的匹配语句,计算机则执行这段程序,并输出结果并通过机器码返还给我们,计算机再通过解读变成我们能看懂的东西。关键字(keyword)是整个语言范围内预先保留的标识符,又称为“保留字”,就是已被此类语
7、言本身使用,不能作其他用途使用的字。例如,关键字不能用作变量名、函数名等标识符,在c的内库中由iso标准定义的c语言关键字共32个。而在c+语言中,关键字的含义和范围又更上一层楼,每个c+关键字都有特殊的含义。關键字通过预处理后,c+的内库中由iso标准定义的c+语言的63个关键字在preprocessing-token区中出来被取出来,标记为处理记号,其余的标识符则作为记号(token),用于对象、函数、类型、命名空间的声。总的来说,c语言是结构化和模块化的面向过程的语言,c+语言是面向对象的程序设计语言。c+语言是c语言的超集,类似于在高中的时候学会了高中数学,那么小学、初中数学也就不成问题了。在编程思想上略有区别,c语言强调程序的功能以及程序是否是是基于过程和以函数为中心的,而c+语言是面向对象的,注重程序内部的分层、分类,类与类之间的关系,以及使用到面向对象的方式思考和编程方法,希望大家引起注意。参考文献:1 钱能. c+程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC TS 6254:2025 EN Information technology - Artificial intelligence - Objectives and approaches for explainability and interpretability of machine learning (ML) models
- 新解读《GB-T 32598-2016纺织品 色牢度试验 贴衬织物沾色的仪器评级方法》
- 多人投资合作协议书范本与多人股东合作协议书范本(一)5篇
- 新解读《GB-T 30952-2014水位试验台校验方法》
- 新解读《GB-T 31079-2014社区地震应急指南》
- 新解读《GB-T 31156-2014太阳能资源测量 总辐射》
- 建筑行业行业员工劳务承包合同5篇
- 车间工人安全合同范本
- 苗木工程合同范本
- 工厂服装加工合同范本
- 2024年云南文山交通运输集团公司招聘笔试参考题库含答案解析
- 100个红色经典故事【十八篇】
- 《化验室安全管理》课件
- 李毓佩数学历险记
- 3D打印技术(课件)
- (完整版)【钢琴谱】大鱼钢琴谱
- (完整word版)英语四级单词大全
- 取暖器市场需求分析报告
- MATLAB 应用全套课件
- 双侧壁导坑施工工法
- 2023山东济南市长清区教体系统所属事业单位招聘22人(共500题含答案解析)笔试历年难、易错考点试题含答案附详解
评论
0/150
提交评论