- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章类 与 对 象 随着计算机技术应用的不断深入,面向过程的程序设计的开发方法已不太适应越来越复杂且高速发展的信息处理的要求。20世纪80年代以来,面向对象方法克服了传统的结构化方法在建立问题系统模型和求解问题时存在的缺陷,提供了更合理、更有效、更自然的方法,正被广大的系统分析和设计人员认识、接受、应用和推广,实际上已成为现今软件系统开发的主流技术。 C++?是最具代表性的面向对象程序设计语言。C++?是从C发展而来,它继承了C语言的优点,并引入了面向对象的概念,是C语言的超集,完全兼容标准C;同时也增加了一些新特性,这些新特性使C++?程序比C程序更简洁、更安全。 9.1 C++?对C的改进 9.1.1 常规的改进 1. 新增的关键字 C++?在C语言关键字的基础上增加了许多关键字,下面列出几种常用的关键字: asm catch class delete friend inline namespace new operator private protected public template try using virtual 在将原来用C语言写的程序用C++编译之前,应把与上述关键字同名的标识符改名。 2. 注释 在C语言中,用“/*”及“*/”作为注释分界符号,C++?除了保留这种注释方式外,还提供了一种更有效的注释方式,即用“//”导引出单行注释。例如: int a; /*定义一个整型变量*/ int A; //定义一个整型变量 这两条语句是等价的。C++?的“//…”注释方式特别适合于注释内容不超过一行的注释。“/*…*/”被称为块注释,“//…”被称为行注释。 3. 类型转换 C++?支持两种不同的类型转换形式: int i=0; long l=(long)i; //C的类型转换 long m=long(i); //C++?的新风格 4. 灵活的变量声明 在C语言中,局部变量说明必须置于可执行代码段之前,不允许将局部变量说明和可执行代码混合起来。但在C++?中,允许在代码块的任何地方说明局部变量,也就是说,变量可以放在任何语句位置,不必非放在程序段的开始处。例如: void f() { int i; i=1; int j; j=2; //… } 这样,可以随用随定义,这是C++?封装的要求,易读性好,而且避免了变量在远离使用处的地方声明,易引起的混淆或导致错误的问题。 5. ?const 在C语言中,使用#define来定义常量,例如: #define SIZE 100 C++?提供了一种更灵活、更安全的方式来定义变量,即使用类型限定符const来表示常量。所以,C++?中的常量可以是有类型的,程序员不必再用?#define创建无类型常量。例如: const int size=100; 声明成const的变量,实际是常量,它有地址,可以用指针指向这个值,但在程序中是不可修改的。 使用?#define有时是不安全的,如下例所示。 例9.1 #define的不安全性。 #includeiostream.h void main() { int x=1; #define W x+x #define Y W-W coutY is Yendl; } 初看程序,似乎应打印出: Y is 0 但是实际的输出结果是: Y is 2 其原因是C++?把语句“coutY is Yendl;”解释成“coutY is x+x-x+xendl;”,如果程序中用const取代了两个#define,将不会引起这个问题。 例9.2 使用const消除#define的不安全性。 #includeiostream.h void main() { int x=1; const W =x+x const Y=W-W coutY is Yendl; } 输出: Y is 0 另外,在ANSI C中,用const定义的常量是全局常量,而C++?中const定义的常量根据其定义位置来决定其是局部的还是全局的。 6. struct C++?的struct后的标识符可看作是类型名,所以定义某个变量比C中更加直观。例如,在C语言中: struct point {int x; int y;}; struct point p; 而在C++?中: struct point {int x; int y;}; point p; 这里不必再写struct。对于union,也可以照此使用。为了保持兼容性,C++?仍然接受老用法。在后面会看到,C++?的类就是对C中的struct的扩充。 7. 作
您可能关注的文档
- 第7章 集成运算放大器及其应用 - 2021.pptx
- 第7章_软件工程项目的团队建设、风险管理及质量管理.pptx
- 第7章编译预处理.ppt
- 第7章-索引结构与散列技术.pptx
- 第8章 金融资产2020.ppt
- 第8章 直流稳压电源 - 2021.pptx
- 第8章_软件测试.pptx
- 第9章 长期股权投资2020.ppt
- 第9章_软件工程项目后评价.pptx
- 第9章-动态规划与贪心策略.pptx
- 2025至2030中国抗酸药甘草制剂行业供需趋势及投资风险报告.docx
- 2025至2030中国香料烟行业运营态势与投资前景调查研究报告.docx
- 2025至2030电加工设备行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国化工新材料行业市场深度调研及发展潜力与投资报告.docx
- 2025至2030节能建材产业政府战略管理与区域发展战略研究咨询报告.docx
- 2025至2030中国感光胶片行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030全球及中国酒店预订行业调研及市场前景预测评估报告.docx
- 2025至2030信息化产业行业项目调研及市场前景预测评估报告.docx
- 2025至2030手术器械行业风险投资态势及投融资策略指引报告.docx
- 2025至2030中国转基因饲料行业市场现状分析及竞争格局与投资发展报告.docx
最近下载
- 25秋国家开放大学《人文英语1》形考任务参考答案.docx
- 《小学家长进课堂》.pptx VIP
- 轮椅智能折叠机构设计与分析.doc VIP
- 考研真题 清华大学903生化分子和细胞生物学综合历年考研真题汇编(含部分答案).docx VIP
- [PPT]各类型桥梁各部位名称图解_136页_讲解详细_权威资料.pptx VIP
- 2025年全球咖啡产业链绿色可持续发展分析与市场趋势报告.docx
- 食品质量安全风险日管控、周排查、月调度检查记录表.docx VIP
- 人力资源招聘流程与面试评估模板人才选拔指南.doc VIP
- 《The Boxcar Children》棚车少年第1部.pdf VIP
- 2022年中国汉字听写大会汉字听写知识竞赛题库及答案(共十三套).pdf VIP
原创力文档


文档评论(0)