静态关联和动态关联.doc_第1页
静态关联和动态关联.doc_第2页
静态关联和动态关联.doc_第3页
静态关联和动态关联.doc_第4页
静态关联和动态关联.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 生 实 验 报 告 学 院: 软件与通信工程学院 课程名称:C+高级程序设计(软件)专业班级: 09软件2班 姓 名: 张小钦 学 号: 0093641 学生实验报告(6)学生姓名张小钦学号0093641同组人实验项目多态性与虚函数的应用必修 选修演示性实验 验证性实验 操作性实验 综合性实验实验地点M122实验仪器台号指导教师赵晓平实验日期及节次2010.5.18(二) 89A节2010.5.25(二) 89A节一、实验综述1、实验目的及要求(1)掌握类的多态性与虚函数的定义与使用;(2)了解虚函数的作用及使用方法; (3)了解静态关联和动态关联的概念和用法; (4)了解纯虚函数和抽象类的的概念和用法。 实验题:(1)教材416第3题;(2)声明一个Shape抽象类,在此基础上派生出Redtangle和Circle类,二者都使用GetArea()函数计算对象的面积,GetPerim()函数计算对象的周长。实验要求:认真完成实验题,一定要使所编写的程序运行成功,提交实验报告并上传程序,实验报告要求写出操作步骤、结果、问题、解决方法、体会等。2、实验仪器、设备或软件 计算机、VC+6.0、office、相关的操作系统等。二、实验过程(实验步骤、记录、数据、分析)实验一步骤如下:1.#includeusing namespace std;class Pointpublic:Point(int a):x(a)Point()coutexecuting Point destructorendl;private:int x;class Circle:public Pointpublic:Circle(int a,int r):Point(a),radius(r)Circle()coutexecuting Circle destructorendl;private:int radius;int main()Point * p=new Circle(3,4);delete p;return 0;2.#includeusing namespace std;class Pointpublic:Point(int a):x(a)Point()coutexecuting Point destructorendl;private:int x;class Circle:public Pointpublic:Circle(int a,int r):Point(a),radius(r)Circle()coutexecuting Circle destructorendl;private:int radius;int main()Point * p=new Circle(3,4);Circle * pt=new Circle(5,2);delete pt;return 0;3.#includeusing namespace std;class Pointpublic:Point(int a):x(a)virtual Point()coutexecuting Point destructorendl;private:int x;class Circle:public Pointpublic:Circle(int a,int r):Point(a),radius(r)virtual Circle()coutexecuting Circle destructorendl;private:int radius;int main()Point * p=new Circle(3,4);delete p;return 0;实验二步骤如下:#include#includeusing namespace std;class Shapepublic:virtual void GetArea();virtual void GetPerim();class Redtangle:public Shapepublic:void get1()cout请输入三角形的边长:abc;coutendl;void GetArea()double s,p;p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c);cout三角形的面积:endl;coutsendl;void GetPerim()cout三角形的周长:endl;couta+b+cendl;private:double a,b,c;class Circle:public Shapepublic:void get2()cout请输入圆的半径:r;coutendl;void GetArea()cout圆形的面积:endl;cout3.14*r*rendl;void GetPerim()cout圆形周长:endl;cout3.14*2*rGetArea();p-GetPerim();p=&c;c.get2(); p-GetArea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论