c大学基础教程第九章_20060612.pptVIP

  1. 1、本文档共86页,可阅读全部内容。
  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文档。上传文档
查看更多
c大学基础教程第九章_20060612

C++大学基础教程;第9章 继承与派生;9.1 继承的概念 ;派生类的定义格式;派生类实例: 形状的关系如下图所示: ;例: 定义基类shape;定义派生类(等边三角形类);继承与派生的目的;继承与派生的目的;区分重载和重写;例9.2 同名覆盖示例 ;void main() { deriver derobj; derobj.function(); } 输出结果: function of class deriver ;派生类的定义格式;例:已有基类base1,base2,base3,定义派生类deriver class deriver:public base1,public base2,private base3 { private: int m_derdata; public: void derfunction(); }; ;直接基类和间接基类;9.2 继承方式 ;9.2.1. 派生类的定义 ;9.2.2. 继承的访问控制 ;认识类的一个例子;9.2.2. 继承的访问控制 ;9.2.2. 继承的访问控制 ;公有继承(public);公有继承举例;class Rectangle: public Point //派生类声明 { public: //新增公有函数成员 void InitR(float x, float y, float w, float h) {InitP(x,y);W=w;H=h;}//调用基类公有成员函数 float GetH( ) {return H;} float GetW( ) {return W;} private: //新增私有数据成员 float W,H; };;#includeiostream.h #includemath.hint main( ) { Rectangle rect; rect.InitR(2,3,20,10); //通过派生类对象访问基类公有成员 rect.Move(3,2); cout , , rect.GetH( ), rect.GetW( )endl; return 0; };说明1;说明2;说明2;例子;私有继承(private);例 私有继承举例;#includeiostream.h #includemath.hint main( ) int main( ) { //通过派生类对象只能访问本类成员 Rectangle rect; rect.InitR(2,3,20,10); rect.Move(3,2); coutrect.GetX( ), rect.GetY( ), rect.GetH( ), rect.GetW( )endl; return 0; };说明;保护继承(protected);protected 成员的特点与作用;例 protected 成员举例;class A { protected: int x; } class B: public A{ public: void Function( ); }; void B:Function( ) { X=5; };例 保护继承举例;派生类相对基类;多继承举例;void A::setA(int x) { a=x; } void B::setB(int x) { b=x; } void C::setC(int x, int y, int z) { //派生类成员直接访问基类的 //非inaccessible有成员 SetA(x); SetB(y); c=z; } //其它函数实现略;Date;9.3 派生类构造函数的定义 ;9.3.2 派生类的构造函数;派生类的构造函数;class Point //基类Point类的定义 { public: //公有函数成员 Point(int xx=0, int yy=0) {X=xx;Y=yy;} void InitP(int xx=0, int yy=0) {X=xx;Y=yy;} void Move(int xOff, int yOff) {X+=xOff;Y+=yOff;} int GetX() {return X;} int GetY() {return Y;} private: //私有数据成员 int X,Y; };;class Rec

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档