C++程序设计 第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文档。上传文档
查看更多
上节内容回顾 函数重载 运算符重载 第9章 继承 9.1 继承和组合——重点 9.2 继承方式——重点 9.3 派生类的构造与析构——难点 9.4 派生类的使用——重点 9.1 继承和组合 9.1.1 继承概念与语法——重点 9.1.2 组合概念与语法 9.1 继承的概念 继承是指一个新定义的类可以通过某种方式拥有已有类的成员数据和成员函数。 继承关系 基类(父类): 将被继承的类称为基类。 派生类(子类): 新定义的类称为子类或派生类。 继承的分类 例1:判断下面的继承类型 例2:判断下面的继承类型 继承的作用 提高了代码的可重用性: 通过类之间的继承,使得在建立某个基类的派生类时,不需要重新定义基类中已有的属性和方法,这样可以确保相同部分的属性和方法代码只编写一次,而不是两次,因而减少了编码量,并提高了代码的可重用性。 派生类的声明 派生类对象结构 对于左面的继承关系: class A{ int a,b; public:  // 成员函数 }; class B:public A { int c; public: // 成员函数 }; 程序【9.1】继承举例 #include iostream using namespace std; class A { private: int a; protected: int b; public: int c; A( ){a = 1; b = 2; c =3;} void setA(int x) { a = x; } void setB(int y) { b = y; } void setC(int z) { c = z; } void print() { cout a= a endl b= b endl c= c endl; } }; class B : public A { public: B() : A() { } void output( ) {cout “b=” b endl;} }; int main() { A oa; oa.setA(6); oa.print(); B ob; ob.print(); ob.output(); cout sizeof A= sizeof(A) endl; cout sizeof B= sizeof (B) endl; return 0; } 9.1.2 组合概念与语法 1、组合的概念:类中含有对象数据成员,称为组合式包含。 2、组合和继承的异同:继承和组合都重用了类设计,相对于继承来说,组合是一种更为简单的代码重用的方式。 3、组合类使用举例: 组合类的例子: class Head // 定义Head类 { public: int size; …… }; class Body // 定义Body类 { public: double width; …… }; class Tail // 定义Tail类 { public: double length; …… }; class Dog // 构造Dog类 { Head head; // 创建Head类的对象 Body body; // 创建Body类的对象 Tail tail; // 创建Tail类的对象 }; 9.2 继承方式 派生类继承基类的继承方式有下面三种: 公有继承public:是最常用的继承方式,基类中除了私有成员外都被继承到子类中,且继承后权限不变。 保护继承protected:是“单传”继承,基类中的除了私有成员外都被继承到子类中,且权限都变为protected. 私有继承private:是“绝版”继承,基类中除了私有成员外都被继承到子类中,且权限都变成了private。这样子类就无法再继承下去。 三种继承方式 9.2.1 私有继承private 9.2.2 公有继承 public 9.2.3 保护成员的作用 9.2.4 多重继承 多继承:有多个基类的继承方式。 多重继承的语法 多重继承的基本语法格式: class 子类 :继承方式 基类A,继承方式 基类B…… { // 类成员 }; 【程序9.3】 #include iostream using namespace std; class A { protected:

文档评论(0)

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

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

1亿VIP精品文档

相关文档