上海交通大学《C语言程序设计》课件-第12章组合与继承.pptxVIP

上海交通大学《C语言程序设计》课件-第12章组合与继承.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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类的应用;派生类构造函数的构造规则;派生类实例;设计过程;基类的设计;教师读者类的设计;学生读者类的设计;派生类对象的析构;派生类构造函数和析构函数的构造规则实例;执行结果;赋值运算符重载函数;class People {protected: char *name; int age; public:People(const char *s, int a); ~People(); People operator=(const People ); } class Student:public People{ int no; char *class_num; public: Student(const char *s, int a, int n, char *cls):People(s,a){…}; ~Student() Student operator=(const Student other) { if(this==other) return *this; no=other.no; delete class_num; class_num=new char[strlen(other.class_num)+1]; strcpy(class_num,other.class_num); People::operator=(other); return *this; } } ;派生类;重定义基类的函数 ;实例;圆类的设计;圆类的定义;球类的定义;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;} }; int 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 C

文档评论(0)

逍遥子 + 关注
实名认证
文档贡献者

互联网搬运工

1亿VIP精品文档

相关文档