第7章 继承和派生的.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文档。上传文档
查看更多
第7章 继承和派生的

;§7.1继承与派生 §7.1.1基本概念: 1.什么是继承? 派生类从基类继承了各种成员的关系就称为继承。 2. 继承的分类: 单继承 多继承 3.基类与派生类的关系: 基类是对派生类的抽象,派生类是对基类的具体化。;§7.1.2派生类的定义与构成: 1.定义派生类的一般格式: class 派生类名 : 继承方式1 基类名1 , 继承方式2 基类名2 , ……. 继承方式n 基类名n { 派生类新定义成员 } ;;2.继承方式包括三种: ①公有继承-----public    ②私有继承-----private  (缺省的继承方式)    ③保护继承-----protected §7.2派生类对基类成员的访问 ⑴从基类继承下来的全部成员构成派生类的基类部分。 ⑵基类中的私有成员在派生类中不可访问。  ; ;⑷例7.1 class Point { public: void InitPoint(int x,int y); void Move(int xOff,int yOff); int GetX(){return X;} int GetY(){return Y;} private: int X,Y; };;void Point::InitPoint(int x,int y) { X=x; Y=y; } void Point::Move(int xOff,int yOff) { X+=xOff; Y+= yOff; };class Rectangle : public Point { public: void InitRectangle(int x,int y,int w,int h); int GetW ( ) { return W; } int GetH ( ) { return H; } private: int W,H; };;void Rectangle::InitRectangle(int x,int y,int w,int h) { InitPoint(x,y); W=w;H=h; } int main ( ) { Rectangle rect ; rect.InitRectangle(2,3,10,20); rect.Move(3,2); coutrect.GetX(),rect.GetY(),rect.GetW(),rect.GetH()endl; return 0; };结果为: 5,5,10,20 例7.2分析下列程序是否正确? class Base { protected: int data; }; class Derived:public Base { public: void fun() { data=1;} };;编译时错误信息如下: error C2248: ‘data : cannot access protected member declared in class Base‘ §7.3派生类的构造函数和析构函数 §7.3.1派生类的构造函数 派生类名::派生类名(形参表列):基类名1(实参表列1), ……. 基类名n(实参表列n), 成员对象名1(实参表n+1), ……. { 派生类构造函数体 };说明几点: ⑴每个派生类必须而且只需负责它的直接基类的构造。 ⑵ 对基类成员和新增成员对象的初始化必须在成员初始化表中进行。 ⑶当派生类有多个基类时,处于同一层次的各个基类的构造函数的调用次序取决于定

文档评论(0)

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

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

1亿VIP精品文档

相关文档