十三周实验报告3
2012-05-14 18:20
267 查看
01./* (程序头部注释开始) 02.* 程序的版权和版本声明部分 03.* Copyright (c) 2011, 烟台大学计算机学院学生 04.* All rights reserved. 05.* 文件名称:renwu.cpp 06.* 作 者:刘文英 07.* 完成日期:2012 年 5 月 14 日 08.* 版 本 号:13.3 09.* 对任务及求解方法的描述部分 10.* 输入描述:略 11.* 问题描述:略 12.* 程序输出:略 13.* 程序头部的注释结束 14.*/ 15.#include<iostream> 16.#include<Cmath> 17.using namespace std; 18.const double pi=3.1415926; 19. 20.class Shape //定义抽象基类 21.{ 22.public: 23. virtual double areas()=0; 24.}; 25. 26.class Circle: public Shape //利用抽象基类定义圆类 27.{ 28.public: 29. Circle(double Circle_radius);//构造函数 30. ~Circle(){} 31. double areas(); 32.private: 33. double Circle_radius; 34.}; 35. 36.class Rectangle: public Shape //利用抽象基类定义矩形类 37.{ 38.public: 39. Rectangle(double Rectangle_long,double Rectangle_wide);//构造函数 40. ~Rectangle(){} 41. double areas(); 42.private: 43. double Rectangle_long; 44. double Rectangle_wide; 45.}; 46. 47.class Triangle: public Shape //利用抽象基类定义三角形类 48.{ 49.public: 50. Triangle(double Triangle_bottom,double Triangle_high); //构造函数 51. ~Triangle(){} 52. double areas(); 53.private: 54. double Triangle_bottom; 55. double Triangle_high; 56.}; 57. 58.Circle::Circle(double Circle_radius)//构造函数 59.{ 60. this->Circle_radius=Circle_radius; 61.} 62. 63.double Circle::areas() 64.{ 65. return (pi*Circle_radius*Circle_radius); 66.} 67. 68.Rectangle::Rectangle(double Rectangle_long,double Rectangle_wide) 69.{ 70. this->Rectangle_long=Rectangle_long; 71. this->Rectangle_wide=Rectangle_wide; 72.} 73. 74.double Rectangle::areas() 75.{ 76. return (Rectangle_long*Rectangle_long); 77.} 78. 79.Triangle::Triangle(double Triangle_bottom,double Triangle_high) 80.{ 81. this->Triangle_bottom=Triangle_bottom; 82. this->Triangle_high=Triangle_high; 83.} 84. 85.double Triangle::areas() 86.{ 87. return (Triangle_bottom*Triangle_high/2); 88.} 89. 90.int main() 91.{ 92. Circle c1(12.6),c2(4.9); //建立Circle类对象c1,c2,参数为圆半径 93. Rectangle r1(4.5,8.4),r2(5.0,2.5); //建立Rectangle类对象r1,r2,参数为矩形长、宽 94. Triangle t1(4.5,8.4),t2(3.4,2.8); //建立Triangle类对象t1,t2,参数为三角形底边长与高 95. Shape *pt[6]={&c1,&c2,&r1,&r2,&t1,&t2}; //定义基类指针数组pt,各元素指向一个派生类对象 96. double areas=0.0; //areas为总面积 97. for(int i=0; i<6; i++) 98. { 99. areas=areas+pt[i]->areas(); 100. } 101. cout<<"totol of all areas="<<areas<<endl; //输出总面积 102. system("pause"); 103. return 0; 104.}运行结果:totol of all areas=643.099
请按任意键继续. . .
相关文章推荐
- 十三周实验报告2:学会使用自定义函数解决实际问题
- 十三周实验报告3:编制一个三角函数表
- 十三周实验报告(一)
- 十三周实验报告二
- 十三周实验报告(三)
- 十三周实验报告3
- 十三周实验报告4
- 第十五周实验报告任务1
- Linux DHCP服务实验报告
- 第十五周实验报告2(分数四则运算窗口程序)
- Ubuntu实验报告二(下)
- 第十五周实验报告2-2
- ucore操作系统lab4实验报告(理论部分)
- 第十五周实验报告2
- Linux实验报告3
- C++程序设计实验报告(七十九)---第十六周任务一
- SA17225160_李伯威(libowei)_高级软工第一次实验报告
- 第16周实验报告1
- Linux实验报告-源代码编译安装Apache(Tarball文件安装)
- 第十六周实验报告任务3--电子词典