面向对象程序设计及C++第2章_C++对C的改进及扩展.pptVIP

面向对象程序设计及C++第2章_C++对C的改进及扩展.ppt

  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.11】引用的最基本用法示例(续) void main( ) { print( ); //第1次调用输出函数 r=y ; //相当于x=y,将y的值赋给x, //而不是r改变为变量y的别名 y=100 ; //对y重新赋值不会影响引用r的值print( ) ; //再次调用输出函数 } 2.5.1 引用的概念及使用 程序的运行结果为: x=5 y=10 r=5 Address of x 00474DD0 Address of y 00474DD4 Address of r 00474DD0 x=10 y=100 r=10 Address of x 00474DD0 Address of y 00474DD4 Address of r 00474DD0 * 在C++语言中,引用最主要的用途是作为函数的形式参数,在函数被调用时引用成为实在参数变量在被调函数中的别名,从而可以通过对引用的访问和修改达到对实在参数变量进行操作的效果,为对实在参数变量的访问和修改提供了简单方便的途径。 引用参数使得实在参数变量的作用域“扩大”到原先无法进入的被调函数中。 2.5.2 引用作为形式参数 * 【例2.5】布尔型变量使用示例。 #include iostream using namespace std; void main( ) { bool f=12; coutf boolalphaf noboolalphafendl; } 2.3.1 新增bool类型 程序的运行结果为: 1 true 1 * C++语言新增加了string类型来代替C语言中以‘\0’结尾的char类型数组。使用string类型必须包含头文件string。 优点:有了string类型,程序员无需关心内存如何分配,也无需处理复杂的‘\0’结束字符,这些操作将由系统自动完成。 String类型提供的操作:赋值、读写、求串长、字符串联结、修改、比较、查找等 2.3.2 新增string类型 * 教材的例2.6在VC++6.0下运行演示 该例中注意以下几点: 定义一个string串变量时可以有多种初始化方式,如程序中s1、s2、s3、s4 可直接用对string类型的字符串变量赋值 可用”+”实现串连接 可调用insert 、erase、substr、replace 、find等完成多种操作 2.3.2 新增string类型 * 在C语言中以如下方式声明一个枚举类型WEEK并定义一个该类型的变量w: enum WEEK {Sun,Mon,Tue,Wed,Thu,Fri,Sat}; enum WEEK w; 在C++语言中直接用WEEK w; 定义,无需要再写enum 用匿名enum来定义符号常量,例:enum {Min=0,Max=100}; 这样Min、Max成为常量,定义int x=Min, arr[Max];合法。 2.3.3 枚举类型 * 无名联合是C++语言中一种特殊的联合,它在关键字union后没有给出联合体的类型名称,这样做可以使一组变量共享同一段内存空间,起始地址相同。 例如: 无名联合可通过使用其中数据项名字直接存取数据,例如:i=0; c= A; d=21.8;都是正确的,这与在C语言中必须通过联合体变量名.数据项名字的操作方式不同。 2.3.4 无名联合 union { char c; int i; double d; }; * C++语言的结构体类型与C语言结构体类型有两个区别: (1)在C++语言中定义结构体类型时,struct后面的标识符可以直接作为该结构体类型的类型名 ,例如: struct Point { double x,y; }; Point p; //在C++语言中Point可作为类型 struct Point p; //在C语言中必须这样写 2.3.5 扩展了的结构体类型 * (2)C++语言的结构体中不仅包含了数据成员,还可以将对这些数据成员进行操作的成员函数也定义在结构体内,体现了数据与对数据的操作不分离的思想,这也是面向对象程序设计的基础,例如: struct Point { double x,y; //数据成员 void setVal(double a,double b) { x=a; y=b; } //成员函数 } p; //结构体变量 语句:p.set

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档