第十一周上机实践项目 项目1-点-圆-圆柱类的设计(2)
来源:互联网 发布:android解析json 编辑:程序博客网 时间:2024/05/16 06:05
问题及代码:
【项目 - 点-圆-圆柱类族的设计】
按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、体积并输出并且完成要求的计算任务:
(1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试;
(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试;
(3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main函数完成测试。
要求编写程序,设计出各类中“需要的成员函数”,包括构造函数、析构函数、修改数据成员和获取数据成员的公共接口、用于输出的重载运算符“<<”函数等。
/* Copyright(c)2016,烟台大学计算机与控制工程学院 All rights reserced 文件名称:test.cpp 作 者:蔡汝佳 完成日期:2016年5月18日 版 本 号:v1.0 问题描述: 输入描述: 程序输出:*/#include <iostream>using namespace std;class Point{public: Point(double xx=0,double yy=0) { x=xx; y=yy; } void setpoint(double ,double); double getx(){return x;} double gety(){return y;} void Point_show();protected: double x,y;};void Point::setpoint(double xx,double yy){ x=xx; y=yy;}void Point::Point_show(){ cout<<"x="<<x<<" y="<<y<<endl;}class Circle:public Point{public: Circle(double xx=0,double yy=0,double rr=0); void setRaidus(double rr); double getradius(){return radius;} double area() const; void show();protected: double radius;};Circle::Circle(double xx,double yy,double rr):Point(xx,yy),radius(rr){}void Circle::setRaidus(double rr){ radius=rr;}double Circle::area() const{ return 3.14159*radius*radius;}void Circle::show(){ cout<<"圆心为:("<<x<<","<<y<<") radius="<<radius<<" area="<<area()<<endl;}int main(){ Circle c(1.2,2.1,3.6); c.show(); c.setpoint(2.5,2.5); c.show(); return 0;}
运行结果:
知识点总结:
运用了继承和派生。
学习心得:
0 0
- 第十一周上机实践项目 项目1-点-圆-圆柱类的设计(2)
- 第十一周上机实践项目1(2):点-圆-圆柱类族的设计
- 第十一周上机实践项目 项目1-点-圆-圆柱类的设计(1)
- 第十一周上机实践项目 项目1-点-圆-圆柱类的设计(3)
- 第十周第十一周上机实践项目-项目1-(2)-点-圆-圆柱类族的设计
- 第十一周上机实践项目1(1):点-圆-圆柱类族的设计
- 第十一周上机实践项目1(3):点-圆-圆柱类族的设计
- 第十一周上机实践项目——项目1-点-圆-圆柱类族的设计
- 第十周第十一周上机实践项目-项目1-(1)-点-圆-圆柱类族的设计
- 第十周第十一周上机实践项目-项目1-3-点-圆-圆柱类族的设计
- 第十一周项目1-点-圆-圆柱类族的设计(2)
- 第十、十一周项目1 - 点-圆-圆柱类族的设计(2)
- 第十一周项目1-点-圆-圆柱类族的设计(2)
- 第十一周项目1-点-圆-圆柱类族的设计(2)
- 第十、十一周项目1 - 点-圆-圆柱类族的设计(2)
- 第十一周实践项目1.1-点-圆-圆柱类族的设计
- 第十一周实践项目1.2-点-圆-圆柱类族的设计
- 第十一周实践项目1.3-点-圆-圆柱类族的设计
- Bagging,AdaBoosting和Gradient boosting
- node.js 安装和 配置Sublime Text2的Nodejs
- AndroidStudio 项目配NDK
- 中位数应用:输油管道问题--快速排序、改进、变种
- Spring的配置文件找不到元素 'beans' 的声明
- 第十一周上机实践项目 项目1-点-圆-圆柱类的设计(2)
- Nginx upstream schedule strategy
- Android 多线程处理之多线程用法大集合
- 可视化布局与简单的信号槽机制
- beego开发web服务+fiddler模拟Post请求+以json类型发送数据
- CreateThread()
- windows10 vmware station pro 12 安装mac os x 10.11
- MFC对话框,复选框,单选钮画图
- 面试常用排序算法