第02章_C++(非类部分)对C扩充.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第02章_C(非类部分)对C扩充

通常C++编译系统(例如IDE)可以根据文件的扩展名来区分C和C++:是 .C的认为是C程序, .CPP的是C++程序。 C++是C的超集,掌握C是掌握C++的先决条件。C++中超出C的部分主要是面向对象的程序设计,也是产生C++的根由。但是C++非类部分对C的语法也作了扩充和很少的“更新”,例如C语言允许一个全局变量多次定义,C++中则会引起错误。 2.1 I/O操作 C++完全支持C的I/O函数集,但C++的I/O类库和I/O操作内容也很多,需要分阶段逐步去掌握。这里先举两个简单的实例: C++中的 out 相当于C中的输出函数printf(); C++中的 cin 相当于C中的输入函数scanf()。 2.2 强类型机制 C++是强类型的,在C中不强制使用原型化函数,在C++中这一要求是必须的、强制的,所有函数必须使用原型。C++可以在函数原型中采用默认值, 例如:fn ( int x, float y=1.0, int z=3 ); 默认的值必须从右到左敷值起,下面的例子是非法的:fn ( int x, float y=1.0, int z); 当调用函数时,默认的值也要从右到左计算起。如果函数原型为:fn ( int x, float y=1.0, int z=3 ),则调用fn ( 1, 2 ) 相当于调用fn ( 1, 2.0, 3)。 2.3 引用 引用作为对象的别名而使用,对引用的改动实际是对对象的改动。当建立引用时,程序用另一个变量或对象名字初始化它。 引用的声明形式为 类型标识符 引用名=对象名 或 类型标识符 引用名=对象名 其中: (1) 引用名必须遵循变量的命名规则。 (2) 前面的数据类型就是它所引用对象的数据类型。 引用不是值,不占存储空间,声明引用时,对象的存储状态是不会改变的。 //例2-1 EX2_1.cpp 演示“引用”的用法 #include iostream.h void swap(int a, int b); //a、b 定义为引用参数 main(void) { int x1=10, x2=20; coutx1 x2\n; //显示 10 20 swap(x1,x2); //交换所引用的变量的值 coutx1 x2endl; //显示 20 10 return 0; } void swap ( int a, int b ) { int t; t=a; a=b; b=t; } 程序执行后的屏幕显示: 10 20 20 10 //例2-2 EX2_2.cpp 演示“引用”的扩充用法 #include iostream.h main(void) { int x1, x2; int iRef=x1; //定义一个“引用”:使iRef成为x1的别名 x1=10; coutx1 iRef; //显示 10 10 x2=121; iRef=x2; //等效于x1=x2 (不是x2的地址) cout\nx1endl; //显示 121 return 0; } 2.4 内联函数 内联函数是在编译时将函数体嵌入在每一个调用语句处,节省了参数传递、系统栈的保护与恢复等的开销。 内联函数的定义形式为: inline 类型标识符 内联函数名 ( 形参表 ) { 函数体 } //例2-3 EX2_3.cpp 内联函数 #include iostream.h #include iomanip.h inline int max(int a, int b) //定义内联函数 { if ( ab ) return a; else return b; } void main() { int a, b, c, d; a=210; b=150; c=20; d=max(a,b); //编译时被替换为max函数体语句 d=max(d,c); //编译时被替换为max函数体语句 coutThe biggest of a b c is d; } 内联函数在C++中几乎取代了C的#defin

文档评论(0)

3471161553 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档