C_C++程序设计电子教案李云峰 第9章 C++程序设计.pptVIP

C_C++程序设计电子教案李云峰 第9章 C++程序设计.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.1.1 对输入/输出语句的扩充 9.1.1 对输入/输出语句的扩充 9.1.2 对变量说明的扩充 9.1.3 对自定义函数的扩充 9.1.3 对自定义函数的扩充 9.1.3 对自定义函数的扩充 9.1.3 对自定义函数的扩充 9.1.3 对自定义函数的扩充 9.1.3 对自定义函数的扩充 9.1.3 对自定义函数的扩充 9.5.3 派生类的访问控制 class Newstudent:private sudent //私有方式派生新类 { private: int num; int score; public: void show() { coutnumendl; //引用自身私有成员 Display( );} //引用基类公有函数,间接访问基类的私有成员 }; void main() { student a; a.show( ); //正确:使用派生类公有函数 a.Display( ); //错误:使用私有派生类所继承的基类公有函数 } 3、保护派生 当采用保护派生时,基类的私有成员在派生类中和派生类外都不可访问。基内的公有成员和保护成员的访问权限在派生类中变为保护,公有成员和保护成员被派生类继承过来,作为派生类的保护成员。 【实例9-19】受保护区派生类举例。程序代码如下: #includeiostream.h using namespace std; class student //基类 { private: char name[10]; char sex; public: 9.5.3 派生类的访问控制 void Display() { coutnameendl; coutsexendl;} }; class Newstudent:protected sudent //受保护方式派生新类 { private: int num; int score; public: void show() { coutnumendl; //引用继承类自身私有成员 Display( );} //引用基类公有函数,间接访问基类的私有成员 }; 9.5.3 派生类的访问控制 void main() { student a; a.show( ); //正确:使用派生类公有函数 a.Display( ) //错误: } [问题点拨] 通过上例可以看到,基类的保护成员对类的外界来说虽然是不可引用的,但对派生类来说相当于私有成员,通过成员函数引用便可把保护成员的引用范围扩展到派生类中。 正是由于引入了继承机制,使得派生类的定义不再从零开始,而是在基类定义的基础上完成的,这样就大大节省了代码数,提高了程序的执行效率,这就是C++采用继承机制的一个重要原因,同时也是面向对象的程序设计思想一个突出的优越之处。 9.5.3 派生类的访问控制 4、 派生类的继承关系 派生类中的成员包括原来基类中的成员和自己新增的成员。 派生类的继承分为公有继承、私有继承、保护继承: ① 在公有继承中,只有基类中的公有成员才能被派生类对象访问,而基类的公有成员和保护成员均可以被派生类的成员函数访问。 ② 在私有继承中,基类中的所有成员都不能被派生类对象访问,但基类的公有成员和保护成员均可以被派生类的成员函数访问,且成为派生来的私有成员,无法继续被继承。 ③ 在保护继承中,基类中的所有成员都不能被派生类对象访问,但基类的公有成员和保护成员均可以被派生类的成员函数访问,且成为派生来的私有成员,并仍可继续向下继承。 9.5.3 派生类的访问控制 9.5.4 派生类的构造函数与析构函数 1、派生类的构造函数 派生类中对象的数据成员由基类中说明的数据成员和派生类中说明的新增数据成员组成。在定义派生类的构造函数时,必须要调用基类的构造函数来初始化基类中的数据成员。定义派生类中构造函数的一般形式如下: 派生类构造函数名(参数总表):基类构造函数名 (参数表),对象成员名1(参数表1),… 2、派生类的析构函数 派生类析构函数的功能与基类析构函数的功能一样,在类对象撤销时释放占用的资源,即由系统自己调用基类及成员对象的析构函数进行相应的清理工作。 §9.6 算法案例程序设计数 1、案例描述 假设有3名学生参加考试,并且已经存在成绩了,编程实现显示每个学生的学

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档