C++教程教学课件 作者 郑莉 李宁 08_类的重用.ppt

C++教程教学课件 作者 郑莉 李宁 08_类的重用.ppt

ID:50318776

大小:1.85 MB

页数:67页

时间:2020-03-08

C++教程教学课件 作者 郑莉 李宁 08_类的重用.ppt_第1页
C++教程教学课件 作者 郑莉 李宁 08_类的重用.ppt_第2页
C++教程教学课件 作者 郑莉 李宁 08_类的重用.ppt_第3页
C++教程教学课件 作者 郑莉 李宁 08_类的重用.ppt_第4页
C++教程教学课件 作者 郑莉 李宁 08_类的重用.ppt_第5页
资源描述:

《C++教程教学课件 作者 郑莉 李宁 08_类的重用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章类的重用清华大学郑莉学习目标理解组合和继承这两种重用方法的概念和各自适用的情况;掌握C++中以组合方式定义新类及构造对象的方法;掌握C++中以继承方式定义新类及构造对象的方法;了解多重继承和虚基类。2目录8.1类的组合8.1.1类的组合的含义8.1.2类的组合实现8.1.3前向引用声明8.2类的继承8.2.1什么是继承8.2.2派生类的定义3目录(续)8.2.3继承成员的访问控制8.2.4派生类的构造函数和析构函数8.2.5向上转型8.3多继承和虚基类8.3.1多继承中的同名隐藏和二义性问题8.3.2重复继承和虚基类48.1.1类的组合的含义在面向对象的软件开发中,可以

2、通过分解、抽象,将一个复杂对象分解为简单对象的组合,使得复杂对象可由比较容易理解和实现的相对简单的对象部件装配而成,也就是将一个复杂对象分解为简单对象的组合。58.1类的组合8.1.2类的组合的实现组合类构造函数定义的一般形式<类名>::<类名>(形参表):内嵌对象1(形参表),内嵌对象2(形参表),…{//其他初始化操作}对象的构造顺序创建一个组合类对象时,首先按对象成员在组合类定义中出现的次序调用成员对象的构造函数,然后调用该组合类的构造函数。析构函数的执行顺序与构造函数的执行顺序相反。68.1类的组合例8-1:设计一个线段类#includeusing

3、namespacestd;classPoint//端点类{private:doublex;//x坐标doubley;//y坐标public:Point(doublei=0,doublej=0):x(i),y(j){}//构造函数Point(Point&p);//构造函数doublegetX(){returnx;}//返回x坐标doublegetY(){returny;}//返回y坐标voidoutPt();//输出点坐标};78.1类的组合——8.1.2类的组合的实现例8-1(续)classLine//线段类{private:Pointpt1;//成员对象:端点1Pointp

4、t2;//成员对象:端点2doublelen;//线段长度public:Line(Pointp2);//端点(0,0)到p2的线段Line(Pointp1,Pointp2);//端点p1到p2的线段PointgetPoint1(){returnpt1;}//返回端点1PointgetPoint2(){returnpt2;}//返回端点2doublegetLength();//计算线段长度voidoutLine();//输出线段信息};88.1类的组合——8.1.2类的组合的实现例8-1(续)//Line.cpp#include"Line.h"#includePo

5、int::Point(Point&p){x=p.x;y=p.y;cout<<"Point构造函数被调用!"<

6、:getLength(){doublea=pt1.getX()-pt2.getX();doubleb=pt1.getY()-pt2.getY();len=sqrt(a*a+b*b);returnlen;}108.1类的组合——8.1.2类的组合的实现例8-1(续)voidLine::outLine(){cout<<"EndPoint1=";pt1.outPt();cout<<"EndPoint2=";pt2.outPt();cout<<"length="<

7、ine.h"intmain(){Pointp1(3.0,3.0),p2(-2.0,7.0);Lineline1(p1,p2),line2(p1);line1.getLength();line2.getLength();line1.outLine();line2.outLine();return0;};128.1类的组合——8.1.2类的组合的实现运行结果:Point构造函数被调用!Point构造函数被调用!Point构造函数被调用!Point构造函数被调用!Line构造函数被调用!Point构造函数被调

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

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

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