第9章类 与 对 象.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文档。上传文档
查看更多
第九章类 与 对 象 随着计算机技术应用的不断深入,面向过程的程序设计的开发方法已不太适应越来越复杂且高速发展的信息处理的要求。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. 作

文档评论(0)

你找对了 + 关注
实名认证
文档贡献者

正版课件均可编辑 注意:其它人很多盗版P P T都是图片形式,买到请直接投诉退款!

1亿VIP精品文档

相关文档