第12章121组合与继承讲解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 组合与继承;组合;组合实例;类定义;成员函数的实现;istream operator(istream is, Complex obj) { cout 请输入实部:; is obj.real; //利用Rational类的输入重载实现实部的输入 cout 请输入虚部:; is obj.imag; //利用Rational类的输入重载实现虚部的输入 return is; } ostream operator(ostream os, const Complex obj) { //利用Rational类的输出重载实现实部和虚部的输出 cout ( obj.real + obj.imag i ); return os; } ;复数类的使用;第12章 组合与继承;派生类的概念;派生类;派生类的定义;派生实例;派生类对基类成员的访问;派生类; ;?;继承实例;point_2d的定义;point_3d的定义;point_3d的讨论;Point_3d的使用;派生类;派生类的构造函数和析构函数 ;派生类的构造函数;构造函数的格式;派生类对象的析构;派生类构造实例;point2.h;point2.cpp;circle2.h;circle2.cpp;Circle类的应用;派生类构造函数的构造规则;派生类实例;设计过程;基类的设计;教师读者类的设计;学生读者类的设计;派生类;重定义基类的函数 ;实例;圆类的设计;圆类的定义;球类的定义;Ball类的构造函数;Ball类的area函数;派生类引用基类的同名函数;实例;Cylinder类的定义;Ball和cylinder类的使用;执行结果;派生类;派生类作为基类;实例;class derive2:public derive1{ int z; public: derive2(int xx, int yy, int zz):derive1(xx, yy) {z = zz;coutconstructing derive2\n;} ~derive2() {coutdestructing derive2\n;} }; main() {derive2 op(1, 2, 3); return 0; };派生类;将派生类对象隐式转换为基类对象;将派生类对象赋给基类对象;基类指针指向派生类对象;基类的对象引用派生类的对象;class Shape { public: void printShapeName() {cout“Shape”endl;} }; class Point : public Shape { public: void printShapeName() {cout“Point”endl;} } class Circle : public Point { public: void printShapeName() {cout“Circle”endl;} } class Cylinder : public Circle { public: void printShapeName() {cout“Cylinder”endl;} };将派生类对象赋给基类对象;基类指针指向派生类对象;基类的对象引用派生类的对象;注意;第12章 组合与继承;虚函数与多态性;多态性;多态性的实现;静态联编;运行时多态性;虚函数与多态性;虚函数;虚函数的使用;虚函数;将派生类对象赋给基类对象;基类指针指向派生类对象;基类的对象引用派生类的对象;使用虚函数的注意事项 ;例;class rectangle { int w, h; public: rectangle(int ww, int hh): w(ww), h(hh) {} virtual void display() {cout “this is a rectangle\n”;} }; class square:public rectangle { public: square(int ss): rectangle(ss, ss) {} void display() //虚函数 {cout “this is a square\n”;} };;虚函数与多态性;为什么需要虚析构函数;解决方案;虚析构函数的继承性;第12章 组合与继承;纯虚函数;纯虚函数实例;抽象类;抽象类的意义;抽象类实例;第12章 组合与继承;多重继承;多重继承的定义格式;多继承的访问特性;多重继承的访问特性;多重继承的构造函数和析构函数;多重继承实例;执行结果;多重继承的主要问题;二义性;x.f()的解决方法;

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档