第八讲 继承与派生总结

第八讲 继承与派生总结

ID:16348459

大小:55.50 KB

页数:6页

时间:2018-08-09

第八讲 继承与派生总结_第1页
第八讲 继承与派生总结_第2页
第八讲 继承与派生总结_第3页
第八讲 继承与派生总结_第4页
第八讲 继承与派生总结_第5页
资源描述:

《第八讲 继承与派生总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第8讲继承与派生在C++中所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类称为“基类(baseclass)”或“父类(fatherclass)”。新建立的类称为“派生类(derivedclass)”或“子类(sonclass)”。1.类的继承与派生派生类是在基类的基础上产生的特殊类,派生类自动继承了基类的成员。 派生类具有自身的属性和行为,不然就完全等同于基类,这样就没有必要派生新类。 继承是为了避免代码的重复 继承是为了避免代码的重复 派生是为了使新产生的派生类除具有基类的共性之外,还具有其他个性。 设计两个类,一个类描

2、述点,另一个类描述圆。圆由圆心和半径构成,圆类由点类派生而来,其中圆心的特性由点类继承下来。 #include"iostream.h"描述点的类的设计: ①数据成员 点的坐标值(x,y) ②成员函数 根据需要定义。如构造函数、取值函数、设值函数 classPoint{intm_x,m_y;public:Point(intx,inty){m_x=x;m_y=y;}intget_x(){returnm_x;}intget_y(){returnm_y;}};Public继承 公有继承公有继承classCircle:publicPoint{d

3、oubleradius;public:Circle(intx,inty,doubler):Point(x,y){描述圆的类的设计: ①数据成员 圆心(点)、半径 ②成员函数 …计算周长、面积等 radius=r;}doubleArea(void){return3.14*radius*radius;}intget_centreX(){returnget_x();}intget_centreY(){returnget_y();}};voidmain(){intx,y;doubler;cout<<"x=";cin>>x;cout<<"y=";ci

4、n>>y;cout<<"r=";cin>>r;Circlec(x,y,r);cout<<"thecentreoftheCircleisthepoint("<

5、则(1)类型兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代。 类的兼容性规则中的三种替代情况:voidfun(Base1*ptr)//参数为指向基类对象的指针 {ptr->display();} //"对象指针->成员名"} intmain() { Base1base1;//声明Base1类对象 Base2base2;//声明Base2类对象 Derivedderived;//声明Derived类对象 fun(&base1);//用Base1对象的指针调用fun函数 fun(&base2);//用Base2对象的指针

6、调用fun函数fun(&derived);//用Derivedx对象的指针调用fun函数fun(&derived); return0; } classBase1//基类Base1定义 {public: voiddisplay()const {cout<<"Base1::display()"<

7、blicBase2//公有派生类Derived定义 {public: voiddisplay()const {cout<<"Derived::display()"<

8、; 情况2:派生类对象可初始化基类对象的引用 classB{…} classD:publicB{…} … Bb1,*pb1; Dd1; 情况3:派生类对象的地址可隐含转换为指向基

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。