第十一周项目1——点-圆-圆柱类族的设计
来源:互联网 发布:windows smb远程漏洞 编辑:程序博客网 时间:2024/05/23 12:13
问题及代码:
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作 者:赵志君 * 完成日期:2016年5月12日 * 版 本 号:v1.0 * * 问题描述:先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; */#include <iostream>using namespace std;class Point{private: double x,y;public: Point(double a=0,double b=0):x(a),y(b){}; void pointShow(); double getx(){return x;} double gety(){return y;} };void Point::pointShow(){ cout<<"x="<<x<<" y="<<y<<endl;}int main(){ Point a(1,2); a.pointShow(); return 0;}
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作 者:赵志君 * 完成日期:2016年5月12日 * 版 本 号:v1.0 * * 问题描述:以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试; */#include <iostream>#include <cmath>using namespace std;class Point{protected: double x,y;public: Point(double m=0,double n=0):x(m),y(n){}; void showPoint(); double getx(){return x;} double gety(){return y;}};void Point::showPoint(){ cout<<"x="<<x<<" y="<<y<<endl;}class Circle:protected Point{public: Circle(double m,double n):Point(m,n){}; void handle(Point &p); void show() { cout<<"圆的半径:"<<r<<endl; cout<<"圆的面积:"<<area<<endl; }private: double area; double pi=3.1415926; double r;};void Circle::handle(Point &p){ r=sqrt((x-p.getx())*(x-p.getx())+(y-p.gety())*(y-p.gety())); area=pi*r*r;}int main(){ Point a(1,2); a.showPoint(); Circle c(1,1); c.handle(a); c.show(); return 0;}
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作 者:赵志君 * 完成日期:2016年5月12日 * 版 本 号:v1.0 * * 问题描述:再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高), 以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main函数完成测试。 */#include <iostream>#include <cmath>using namespace std;class Point{protected: double x,y;public: Point(double m,double n):x(m),y(n){}; void showPoint(); double getx(){return x;} double gety(){return y;}};void Point::showPoint(){ cout<<"点的 x="<<x<<" y="<<y<<endl;}class Circle:protected Point{public: Circle(double m,double n,double a,double b):Point(m,n),p(a,b){}; void handle(); void show() { showPoint(); cout<<"圆的半径:"<<r; cout<<" 圆的面积:"<<area<<endl; }protected: double area; double pi=3.1415926; double r; Point p;};void Circle::handle(){ r=sqrt((x-p.getx())*(x-p.getx())+(y-p.gety())*(y-p.gety())); area=pi*r*r;}class Cylinder:protected Circle{private: double h; double bArea; double v;public: Cylinder(double m,double n,double a,double b,double hh):Circle(m,n,a,b),h(hh){}; void Area(); void yolume(); void showCylinder();};void Cylinder::Area(){ handle(); bArea=2*area+2*pi*r*h;}void Cylinder::yolume(){ v=area*h;}void Cylinder::showCylinder(){ show(); cout<<"圆柱体的表面积:"<<bArea<<endl; cout<<"圆柱体的体积:"<<v<<endl;}int main(){ Cylinder zhu(1,1,1,2,10); zhu.Area(); zhu.yolume(); zhu.showCylinder(); return 0;}
0 0
- 第十一周上机实践项目——项目1-点-圆-圆柱类族的设计
- 第十一周项目1——点-圆-圆柱类族的设计
- 第十一周项目1.1—点 圆 圆柱类族的设计
- 第十一周项目1.2— 点 圆 圆柱类族的设计
- 第十一周项目1.3— 点 圆 圆柱类族的设计
- 第十一周项目1.1—点 圆 圆柱类族的设计
- 第十一周项目1.2— 点 圆 圆柱类族的设计
- 第十一周项目1.3— 点 圆 圆柱类族的设计
- 第十一周项目实践1————点-圆-圆柱类族设计
- 第十一周项目1-点-圆-圆柱类族的设计(1)
- 第十、十一周项目1 - 点-圆-圆柱类族的设计(1)
- 第十一周【项目1 - 点-圆-圆柱类族的设计1】
- 第十一周上机实践项目1(1):点-圆-圆柱类族的设计
- 第十一周项目1-点-圆-圆柱类族的设计(1)
- 第十、十一周项目1 - 点-圆-圆柱类族的设计(1)
- 第十一周项目1-点-圆-圆柱类族的设计(2)
- 第十一周项目1-点-圆-圆柱类族的设计(3)
- 第十、十一周项目一-点-圆-圆柱类族的设计(1)
- 监控和管理Linux进程
- poj 2065 高斯消元
- 实用知识:关于通知里面的 category 使用方法
- Find Minimum in Rotated Sorted Array
- centos下安装jdk1.7
- 第十一周项目1——点-圆-圆柱类族的设计
- Android之MediaProjectionManager实现手机截屏总结
- Codeforces Round #349 (Div. 2)
- Hadoop学习之自己动手做搜索引擎【网络爬虫+倒排索引+中文分词】
- java多线程-线程同步
- bestcoder 百度之星 1001 大搬家
- Python笔记之入门(基础篇)
- Unity3D射线
- 正则表达式