2019年第10讲 类的重用和多态性课件.ppt

2019年第10讲 类的重用和多态性课件.ppt

ID:57043582

大小:374.50 KB

页数:85页

时间:2020-07-28

2019年第10讲 类的重用和多态性课件.ppt_第1页
2019年第10讲 类的重用和多态性课件.ppt_第2页
2019年第10讲 类的重用和多态性课件.ppt_第3页
2019年第10讲 类的重用和多态性课件.ppt_第4页
2019年第10讲 类的重用和多态性课件.ppt_第5页
资源描述:

《2019年第10讲 类的重用和多态性课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十讲类的重用与多态性教材:《C++语言程序设计》(第4版)第4章4.4,第7章,第8章8.3、8.4清华大学郑莉目录10.1类的组合10.2类的继承与派生10.3访问控制10.4类型兼容规则10.5多态性10.6派生类的构造、析构函数10.7派生类成员的标识与访问10.8小结210.1.1组合类中的成员数据是另一个类的对象。可以在已有抽象的基础上实现更复杂的抽象。310.1类的组合类组合的构造函数设计原则:不仅要负责对本类中的基本类型成员数据赋初值,也要对对象成员初始化。声明形式:类名::类名(对象成员所需的形参,本类成员形参)

2、:对象1(参数),对象2(参数),......{本类初始化}410.1类的组合——10.1.1组合类组合的构造函数调用构造函数调用顺序:先调用内嵌对象的构造函数(按内嵌时的声明顺序,先声明者先构造)。然后调用本类的构造函数。(析构函数的调用顺序相反)初始化列表中未出现的内嵌对象,用默认构造函数(即无形参的)初始化系统自动生成的隐含的默认构造函数中,内嵌对象全部用默认构造函数初始化510.1类的组合——10.1.1组合例10-1(教材例4-4) 类的组合,线段(Line)类//4_4.cpp#include#in

3、cludeusingnamespacestd;classPoint{//Point类定义public:Point(intxx=0,intyy=0){x=xx;y=yy;}Point(Point&p);intgetX(){returnx;}intgetY(){returny;}private:intx,y;};Point::Point(Point&p){//拷贝构造函数的实现x=p.x;y=p.y;cout<<"CallingthecopyconstructorofPoint"<

4、.1.1组合//类的组合classLine{//Line类的定义public://外部接口Line(Pointxp1,Pointxp2);Line(Line&l);doublegetLen(){returnlen;}private://私有数据成员Pointp1,p2;//Point类的对象p1,p2doublelen;};//组合类的构造函数Line::Line(Pointxp1,Pointxp2):p1(xp1),p2(xp2){cout<<"CallingconstructorofLine"<

5、atic_cast(p1.getX()-p2.getX());doubley=static_cast(p1.getY()-p2.getY());len=sqrt(x*x+y*y);}Line::Line(Line&l):p1(l.p1),p2(l.p2){//组合类的拷贝构造函数cout<<"CallingthecopyconstructorofLine"<

6、),myp2(4,5);//建立Point类的对象Lineline(myp1,myp2);//建立Line类的对象Lineline2(line);//利用拷贝构造函数建立一个新对象cout<<"Thelengthofthelineis:";cout<

7、ctorofPointCallingthecopyconstructorofPointCallingthecopyconstructorofPointCallingthecopyconstructorofPointCallingconstructorofLineCallingthecopyconstructorofPointCallingthecopyconstructorofPointCallingthecopyconstructorofLineThelengthofthelineis:5Thelengthoftheline2i

8、s:510.1.2前向引用声明类应该先声明,后使用如果需要在某个类的声明之前,引用该类,则应进行前向引用声明。前向引用声明只为程序引入一个标识符,但具体声明在其他地方。910.1类的组合举例classB;//前向引用声明classA{public:

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

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

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