第2章节-从C语言向C++过渡.pptVIP

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

第二章 从C语言向C++过渡 §2-1 C++语言的发展过程 §2-2 在较小范围内如何将C++增强C §2-3 在较大范围内如何将C++增强C §2-1 C++语言的发展过程 C++语言基于C,是C的一个超集集合。 C++继承了C的全部优点,而且还支持面向对象特征。 C++由BCPL和Simula67的某些灵感而导致产生的。 1980年,C++由贝尔实验室的Bjarne Stroustrup创建,被称为带类的C。 1994年,建立ANSI C++标准。 §2-2 在较小范围内如何将C++增强C 一、I/O流控制 二、内联函数 三、函数重载 四、默认参数的函数 五、new和delete 六、const说明符 七、引用 八、程序结构 九、其他 §2-2 在较小范围内如何将C++增强C 2.2.1 I/O流控制 C++中输入/输出流(一般叫iostreams或streams)提供了C的stdio.h库中的所有功能。 输入/输出流用作将具有类型的对象转换成可读的正文,反之亦然。流能读写二进制数据。 C++程序以四个预定义的流开始,它们是:cin标准输入、cout标准输出、cerr标准错、clog缓冲的cerr。 标准输入输出流 p23 在iostream.h中说明 cout输出流 cin输入流接收变量 cout“Hello,world!\n” int a; cina; cout“姓名:??”“年龄:?” cinafc; §2-2 在较小范围内如何将C++增强C 2.2.1 I/O流控制 2、使用控制符 #include iomanip.h 注意 1、输入流能自动跳过空白字符 2、字符串输入避免溢出,可采取以下方法: char array[SIZE]; cin.width(sizeof(array)); cinarray; §2-2 在较小范围内如何将C++增强C 2.2.2 内联函数 使用关键字inline说明的函数是内联函数。作用相当于带参数的宏。 使用内联函数的必要性 内联函数增加了代码空间,但减少了执行时间(函数调用开销) #include iostream.h void main() { char c; int isnumber(char); cout”Enter a character:”; cinc; if(isnumber(c)) cout”You entered a digit.” else cout” You entered a non-digit.” } int isnumber(char c){ return(c=’0’c=’9’)?1:0; } 对于isnumber这样简单的函数,使用函数调用的方法(特别是多次调用)将大大降低运行效率,可以采用if((c=’0’c=’9’)?1:0)表达式替换的方法。但是,手工替换很烦琐,最好让编译程序去做。 内联函数是程序行的扩展,主要是解决程序的运行效率。 §2-2 在较小范围内如何将C++增强C 内联函数的使用(1) 在函数声明和定义的最前面加关键字inline 在函数声明时必须有inline,定义时可有可无。 #include iostream.h void main() { char c; inline int isnumber(char); …… } inline int isnumber(char c) //或用int isnumber(char c) { return(c=’0’c=’9’)?1:0; } §2-2 在较小范围内如何将C++增强C 内联函数的使用(2) 内联函数必须在调用之前声明或定义。因为内联函数的代码必须在被替换之前已经生成被替换的代码。 #include iostream.h inline int isnumber(char c) { return(c=’0’c=’9’)?1:0; } void main() { char c; //inline int isnumber(char); …… } §2-2 在较小范围内如何将C++增强C 内联函数的函数体限制 内联函数中不能含有复杂的结构控制语句,否则,编译时将该函数视同普通函数那样产生函数调用代码。 递归函数是不能被用来做内联函数的。 内联函数只适合于只有1~5行的小函数,而且不能频繁地被调用。 §2-2 在较小范围内如何将C++增强C 2.2.3 函数重载 使用重载函数的必要性 在不同类型上作相同运算而又用相同名字的情况,称为重载。 §2-2 在较小范围内如何将C++增强C 使用重载函数的必要性 使用不同数目的参数 §2-

文档评论(0)

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

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

1亿VIP精品文档

相关文档