面向对象程序设计程序.docVIP

  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文档。上传文档
查看更多
面向对象程序设计程序

实验内容 (一)类Point、类Circle、类Cylinder 实验题目: 2、设计思路 根据题意,首先定义类Point,然后定义类Point的公有有派生类Circle,再定义类Circle的公有派生类Cylinder。使用类及其成员函数的定义: Class 派生类名:访问方式 基类名 {派生中的新成员} 因为派生的类都是公有的所以都使用public的访问方式。派生中的新成员,则由题目要求给予定义。还包括了构造函数和析构函数。其中构造函数是对其自身和基类中的数据成员进行初始化。而析构函数是对对象撤销前进行必要的清理,将其放置在派生中的新成员的最后一句。 然后根据题目要求进行编写和调用。设计时还需要注意的是: 在调用基类函数的时候需要在其间加上“::”,例如: bs=2*3.14159*Circle::getr()*h+2*3.14159*Circle::getr()*Circle::getr(); 在派生类的构造函数定义是需要注意参数的传递: 派生类名::派生类构造函数名(总参数列表):基类构造参数名(参数列表) {派生类中新增数据成员初始化语句} 在主函数中(所有的类外部)要使用某一个类时,需要定义一个对象,通过对象在对类中的数据成员的进行操作。但如果该对象是派生类中的则 不能直接用其访问基类中的数据成员。 3、源程序代码 #includeiostream.h class Point { int x,y; public: Point(int px,int py) { cout执行类Point的构造函数endl; x=px; y=py; } void p_show() { cout执行类Point的函数p_show(),输出坐标x,y的值:x,yendl; } void p_set(int px,int py) { cout执行类Point的函数p_set()endl; x=px; y=py; } ~Point() { cout执行类Point的析构函数endl; } }; class Circle:public Point { float r; double s; public: Circle(int px,int py,float cr,double cs):Point(px,py) { cout执行类Circle的构造函数endl; r=cr; s=cs; } double c_area() { cout执行类Circle的函数c_area()endl; s=3.14159*r*r; return s; } void c_set(float cr) { cout执行类Circle的函数c_set()endl; r=cr; } void c_show() { cout执行类Circle的函数c_show(),输出r,s值:r,sendl; } float getr() { cout执行类Circle的函数getr()endl; return r; } ~Circle() { cout执行类Circle的析构函数endl; } }; class Cylinder:public Circle { float h; double bs,v; public: Cylinder(int px,int py,float cr,double cs,float ch,double cbs,double cv):Circle(px,py,cr,cs) { cout执行类Cylinder的构造函数endl; h=ch; bs=cbs; v=cv; } void cy_set(float ch) { cout执行类Cylinder的函数cy_set()endl; h=ch; } void cy_area() { cout执行类Cylinder的函数cy_area()endl; bs=2*3.14159*Circle::getr()*h+2*3.14159*Circle::getr()*Circle::getr(); } void volume() { cout执行类Cylinder的函数volume()endl; v=3.14159*Circle::getr()*Circle::getr()*h; } void cy_show() { cout执行类Cylinder的函数cy_show(),输出h,bs,v值:h,bs,vendl; } ~Cylinder() { cout执行类

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档