首页 第二部分 继承与派生

第二部分 继承与派生

举报
开通vip

第二部分 继承与派生null第三部分 继承与派生第三部分 继承与派生C++语言程序设计 邵奇可sqk@zjut.edu.cn本章主要内容本章主要内容类的继承与派生 类成员的访问控制 单继承与多继承 派生类的构造、析构函数 类成员的标识与访问类的继承与派生类的继承与派生保持已有类的特性而构造新类的过程称为继承。 在已有类的基础上新增自己的特性而产生新类的过程称为派生。 被继承的已有类称为基类(或父类)。 派生出的新类称为派生类。继承与派生问题举例继承与派生问题举例类的继承与派生继承与派生问题举例继承与派生问题举例类的继承与派生继...

第二部分   继承与派生
null第三部分 继承与派生第三部分 继承与派生C++语言程序设计 邵奇可sqk@zjut.edu.cn本章主要 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 本章主要内容类的继承与派生 类成员的访问控制 单继承与多继承 派生类的构造、析构函数 类成员的标识与访问类的继承与派生类的继承与派生保持已有类的特性而构造新类的过程称为继承。 在已有类的基础上新增自己的特性而产生新类的过程称为派生。 被继承的已有类称为基类(或父类)。 派生出的新类称为派生类。继承与派生问题举例继承与派生问题举例类的继承与派生继承与派生问题举例继承与派生问题举例类的继承与派生继承与派生问题举例继承与派生问题举例类的继承与派生继承与派生问题举例继承与派生问题举例类的继承与派生继承与派生的目的继承与派生的目的继承的目的:实现代码重用。 派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造。 类的继承与派生派生类的声明派生类的声明class 派生类名:继承方式 基类名 { 成员声明; }类的继承与派生继承方式继承方式不同继承方式的影响主要体现在: 1、派生类成员对基类成员的访问控制。 2、派生类对象对基类成员的访问控制。 三种继承方式 公有继承 私有继承 保护继承类成员的访问控制公有继承(public)公有继承(public)基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可访问。 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。 通过派生类的对象只能访问基类的public成员。类成员的访问控制例7-1 公有继承举例例7-1 公有继承举例class Point //基类Point类的声明 {public: //公有函数成员 void InitP(float xx=0, float yy=0) {X=xx;Y=yy;} void Move(float xOff, float yOff) {X+=xOff;Y+=yOff;} float GetX( ) {return X;} float GetY( ) {return Y;} private: //私有数据成员 float X,Y; };类成员的访问控制nullclass 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; };null#include #includeint main( ) { Rectangle rect; rect.InitR(2,3,20,10); //通过派生类对象访问基类公有成员 rect.Move(3,2); cout< #includeint main( ) int main( ) { //通过派生类对象只能访问本类成员 Rectangle rect; rect.InitR(2,3,20,10); rect.Move(3,2); cout< class B{ public: B( ); B(int i); ~B( ); void Print( ) const; private: int b; };派生类的构造、析构函数nullB::B( ) { b=0; cout<<"B's default constructor called."< class B1 //基类B1,构造函数有参数 {public: B1(int i) {cout<<"constructing B1 "< class B1 //基类B1声明 { public: B1(int i) {cout<<"constructing B1 "< class B1 //声明基类B1 { public: //外部接口 int nV; void fun( ){cout<<"Member of B1"< class B0 //声明基类B0 { public: //外部接口 int nV; void fun( ){cout<<"Member of B0"< 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中给出对虚基类的构造函数的调用。如果未列出,则表示调用该虚基类的缺省构造函数。 在建立对象时,只有最派生类的构造函数调用虚基类的构造函数,该派生类的其它基类对虚基类构造函数的调用被忽略。 虚 基 类有虚基类时的构造函数举例有虚基类时的构造函数举例#include class B0 //声明基类B0 { public: //外部接口 B0(int n){ nV=n;} int nV; void fun( ){cout<<"Member of B0"< class B0 //基类B0声明 { public: void display( ){cout<<"B0::display( )"<display( ); //"对象指针->成员名" }nullvoid main( ) //主函数 { B0 b0; //声明B0类对象 B1 b1; //声明B1类对象 D1 d1; //声明D1类对象 B0 *p; //声明B0类指针 p=&b0; //B0类指针指向B0类对象 fun(p); p=&b1; //B0类指针指向B1类对象 fun(p); p=&d1; //B0类指针指向D1类对象 fun(p); } null
本文档为【第二部分 继承与派生】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_119987
暂无简介~
格式:ppt
大小:196KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2012-08-10
浏览量:11