C面向对象实用例子章习题分析PPT课件.ppt

C面向对象实用例子章习题分析PPT课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

-复习——虚函数多态主要体现在虚函数上,只要有虚函数存在,对象就会在运行时动态绑定。例1:通过基类指针或引用即可访问基类和派生类中的同名函数。例2:这里用到了什么?虚基类上例用到了虚基类,虚继承只存在一个CAnimal的复制。例3:这里用到了什么?抽象类上例用到了抽象类,纯虚函数抽象类面积的计算方法不确定,设为纯虚函数,这样圆形有圆形的面积计算方法,矩形有矩形的面积计算方法,每个继承于CFigure的类都有自己的面积,通过getArea成员函数即可获得面积。包含纯虚函数的类称为抽象类,一个抽象类至少具有一个纯虚函数。抽象类只能作为基类派生新的子类,不能实例化。比如,软件构造师可以通过纯虚函数建立接口,然后让程序员填写代码实现接口,而自己主要负责建立抽象类。例4:实现抽象类中的成员函数例5:多重继承多个基类派生一个子类派生出Teacher_Level类,包含教师和职称信息,新增工资信息。练习1:写出下列程序的运行结果#include<iostream>usingnamespacestd;classA{public:A(inti=3){x=i;}virtualvoidat(){cout<<"x="<<x<<endl;}voidat2(){at();}protected:intx;};classB:publicA{public:B(intm){y=m;}voidat(){cout<<"y="<<y<<endl;}private:inty;};intmain(){Ak(5),*p;p=&k;p->at2();Bs(8);p=&s;p->at2();return0;}程序运行结果:x=5y=8练习2:下列Shape类是一个表示形状的抽象类,area()为求图形面积的函数,total()则是一个通用的用以求不同形状的图形面积总和的函数。请从Shape类派生三角形类(Triangle)、矩形类(Rectangle),并给出具体的求面积函数。classShape{public:virtualdoublearea()const=0;//纯虚函数};floattotal(Shape*s[],intn)//一般函数{floatsum=0.0;for(inti=0;i<n;i++)sum+=s[i]->area();returnsum;}解答:classTriangle:publicShape{public:Triangle(doubleh,doublew){H=h;W=w;}doublearea()const{returnH*W*0.5;}private:doubleH,W;};classRectangle:publicShape{public:Rectangle(doubleh,doublew){H=h;W=w;}doublearea()const{returnH*W;}private:doubleH,W;};练习3:写出下列程序的运行结果//Triangle.h#include<iostream.h>classTriangle//定义三角形类{public: voidSetTriangle(intx,inty,intz); doubleGetArea(); intGetPerimeter();//周长 voidPrint();private: inta,b,c;};Triangle&compare(Triangle&t1,Triangle&t2);//Triangle.cpp#include<math.h>#include"Triangle.h"voidTriangle::SetTriangle(intx,inty,intz){a=x;b=y;c=z;}doubleTriangle::GetAre

文档评论(0)

办公文档大全 + 关注
实名认证
内容提供者

文档来源于平时收集整理,如果不慎侵犯了您的权益,请私信联系本人删除,本人在看到消息后一定会在第一时间删除 。

1亿VIP精品文档

相关文档