[实验报告]继承和派生.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[实验报告]继承和派生

实验目的: 1.掌握利用单一继承和多重继承方式定义派生类的方法; 2.深刻理解在各种继承方式下构造函数和析构函数的执行次序; 3.理解和掌握公有继承、私有继承和保护继承对基类成员的访问机制; 4.理解虚基类的概念以及引入虚基类的目的和作用。 实验仪器及器材: 计算机、Windows XP 实验内容: 1、打开电脑:双击桌面C++的快捷方式就启动了C++程序。 2、在c++程序窗口中输入程序,代码如下: #include iostream #include cmath using namespace std; #define PI 3.14159 class Point{ friend class Line; protected: double x, y ; public: Point(){x = 0 ; y = 0 ; } Point(double xv,double yv){ x = xv; y = yv; } double Area(){return 0;} void Show() { coutx=x y=yendl; } }; class Circle :public Point{ double radius; public: Circle(){ x = 0; y = 0; radius = 0; } Circle(double xv,double yv,double vv):Point(xv,yv){ //调用基类构造函数 radius = vv; } Circle(Circle cir):Point(cir){ //按赋值兼容规则cir可为Point构造函数的实参 radius=cir.radius; } Circle operator=(Circle cir){ this-Point::operator=(cir); //在派生类中重载复制赋值操作符有固定的标准格式 radius=cir.radius; return *this; } double Area(){ return PI*radius*radius; } void Show(){ //可以直接访问基类的数据成员 coutx=x y=y radius=radiusendl; } }; class Line{ Point start,end; //对象成员 public: Line():start(0,0),end(0,0){ } //注意对象成员初始化的方法 Line(double xv1,double yv1,double xv2,double yv2) : start(xv1,yv1),end(xv2,yv2){ } double GetLength() { return sqrt((start.x-end.x)*(start.x-end.x)+(start.y-end.y)*(start.y-end.y)); } double Area(){return 0;} void Show(){ coutstart point:\n; start.Show(); coutend point:\n; end.Show(); } }; int main(){ Point pt(0,0); Circle cl1(100,100,10),cl2(cl1),cl3; Line ln1(0,0,100,100); cout点面积:pt.Area()endl; pt.Show(); coutcl1圆面积:cl1.Area()endl; cl1.Show(); coutcl2圆面积:cl2.Area()endl; cl2.Show(); cl3=cl1; coutcl3圆面积:cl3.Area()endl; cl3.Show(); cout线面积:ln1. Area()\t线长度:ln1. GetLength()endl; ln1.Show(); return 0; } 3、编译,检查是否有错误; 4、运行结果 5、单击右上角关闭按钮就C++退出了程序 实验数据记录: 1、使用计算机的具体配置信息: CPU型号:Intel 酷睿 i7 860 标称频率:2800MHz 网卡与声卡:集成 2程序结果运行如下: 结果讨论: 通过实验1、理解了继承和派生的概念,加强了应用,在此基础上得以更好的掌握 2、激发了我的学习兴趣。 ………..大学 实 验 报 告 课程名称: c++程序设计 实验项目: 继承和派生

文档评论(0)

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

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

1亿VIP精品文档

相关文档