第十一周项目1.3— 点 圆 圆柱类族的设计
来源:互联网 发布:linux内核剖析 pdf 编辑:程序博客网 时间:2024/06/04 18:55
问题及代码:
/**Copyright(c) 2016.烟台大学计算机与控制工程学院*ALL rights reserved.*文件名称:main.cpp*作者:郝昱猛*完成日期:2016年5月18日*问题描述:问题描述:按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、 体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其 他需要的成员函数,设计main函数完成测试; (3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高),,以及求圆柱表面 积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main函数完成测试。*/#include <iostream>using namespace std;#define PI 3.1415926class Point{public: Point(double xx,double yy):x(xx),y(yy){} double getX( ) { return x; } double getY( ) { return y; } void show();protected: double x,y;};void Point::show(){ cout<<"("<<x<<","<<y<<")"<<endl;}class Circle:public Point //定义Point的派生类Circle{public: Circle(double xx,double yy,double rr):Point(xx,yy),r(rr){} void setR(double rr); double getR() { return r; } double area(); void show();protected: double r;};void Circle::setR(double rr){ r=rr;}double Circle::area(){ return PI*r*r;}void Circle::show(){ cout<<"中心为:("<<x<<","<<y<<") 半径为:"<<r<<"面积为:"<<area()<<endl;}class Cylinder:public Circle{ public: Cylinder(double xx,double yy,double rr,double hh):Circle(xx,yy,rr),h(hh){} void setH(double hh); double getH() { return h; } double area(); double volume(); void show(); protected: double h;};void Cylinder::setH(double hh){ h=hh;}double Cylinder::area(){ return 2*Circle::area()+2*PI*r*h;}double Cylinder::volume(){ return Circle::area()*h;}void Cylinder::show(){ cout<<"面积为:"<<area()<<"体积为:"<<volume()<<endl;}int main(){ Point p1(3,5); cout<<"点"<<endl; p1.show(); Circle c(1,1,2); cout<<"圆形"<<endl; c.show(); cout<<"圆柱"<<endl; Cylinder cy(1,1,2,3); cy.show(); return 0;}
运行结果:
0 0
- 第十一周项目1.3— 点 圆 圆柱类族的设计
- 第十一周项目1.3— 点 圆 圆柱类族的设计
- 第十一周上机实践项目——项目1-点-圆-圆柱类族的设计
- 第十一周实践项目1.3-点-圆-圆柱类族的设计
- 第十一周项目1——点-圆-圆柱类族的设计
- 第十一周项目1.1—点 圆 圆柱类族的设计
- 第十一周项目1.2— 点 圆 圆柱类族的设计
- 第十一周项目1.1—点 圆 圆柱类族的设计
- 第十一周项目1.2— 点 圆 圆柱类族的设计
- 第十一周实践项目1.1-点-圆-圆柱类族的设计
- 第十一周项目1-点-圆-圆柱类族的设计(1)
- 第十一周项目1-点-圆-圆柱类族的设计(2)
- 第十一周项目1-点-圆-圆柱类族的设计(3)
- 第十、十一周项目一-点-圆-圆柱类族的设计(1)
- 第十一周实践项目1.2-点-圆-圆柱类族的设计
- 第十、十一周项目一-点-圆-圆柱类族的设计(2)
- 第十、十一周项目一-点-圆-圆柱类族的设计(3)
- 第十、十一周项目2:点-圆-圆柱类族的设计(1)
- hdu3265 Posters(切割+面积并)
- poj 1017
- 心情
- Java技术体系
- 谭浩强C程序设计基础数组知识点总结一
- 第十一周项目1.3— 点 圆 圆柱类族的设计
- 使用COPY声明NSSTRING属性
- C基础 内存越界和内存监测的简单处理
- HDU - 1171 Number Sequence(Kmp)
- SQL Server 2008导入、导出数据库
- swift 2.2 语法(中)
- 一些想要或读过的书及个人评价
- 控件缩写规范
- Android自定义控件