c++类的重用与多态性

c++类的重用与多态性

ID:40800928

大小:1.10 MB

页数:83页

时间:2019-08-07

c++类的重用与多态性_第1页
c++类的重用与多态性_第2页
c++类的重用与多态性_第3页
c++类的重用与多态性_第4页
c++类的重用与多态性_第5页
资源描述:

《c++类的重用与多态性》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目录10.1类的组合10.2类的继承与派生10.3访问控制10.4类型兼容规则10.5多态性10.6派生类的构造、析构函数10.7派生类成员的标识与访问10.8小结110.1.1组合类中的成员数据是另一个类的对象。可以在已有抽象的基础上实现更复杂的抽象。210.1类的组合类组合的构造函数设计原则:不仅要负责对本类中的基本类型成员数据赋初值,也要对对象成员初始化。声明形式:类名::类名(对象成员所需的形参,本类成员形参):对象1(参数),对象2(参数),......{本类初始化}310.1类的组合——10.1.1组合类组合的构造函数调用构造函数调用顺序:先调用内嵌对象的构造函数(按内嵌时

2、的声明顺序,先声明者先构造)。然后调用本类的构造函数。(析构函数的调用顺序相反)初始化列表中未出现的内嵌对象,用默认构造函数(即无形参的)初始化系统自动生成的隐含的默认构造函数中,内嵌对象全部用默认构造函数初始化410.1类的组合——10.1.1组合例10-1(教材例4-4)类的组合,线段(Line)类//4_4.cpp#include#includeusingnamespacestd;classPoint{//Point类定义public:Point(intxx=0,intyy=0){x=xx;y=yy;}Point(Point&p);intgetX

3、(){returnx;}intgetY(){returny;}private:intx,y;};Point::Point(Point&p){//拷贝构造函数的实现x=p.x;y=p.y;cout<<"CallingthecopyconstructorofPoint"<

4、类的对象p1,p2doublelen;};//组合类的构造函数Line::Line(Pointxp1,Pointxp2):p1(xp1),p2(xp2){cout<<"CallingconstructorofLine"<(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<<"Calling

5、thecopyconstructorofLine"<

6、

7、Thelengthofthelineis:5Thelengthoftheline2is:510.1.2前向引用声明类应该先声明,后使用如果需要在某个类的声明之前,引用该类,则应进行前向引用声明。前向引用声明只为程序引入一个标识符,但具体声明在其他地方。810.1类的组合举例classB;//前向引用声明classA{public:voidf(Bb);};classB{public:voidg(Aa);};910.1类的组合——10.1.2前向引

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

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

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