第十一周项目4-类族设计
来源:互联网 发布:淘宝造物节官网 编辑:程序博客网 时间:2024/05/22 00:16
/**程序的版权和版本声明部分:*Copyright(c)2014,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:田成琳*完成日期:2014 年 5 月 10 日*版本号:v1.0*对任务及求解方法的描述部分:*输入描述:无*问题描述:定义点类Point,并以点类为基类,派生出圆类Cricle, 求圆的面积,并派生出圆柱体类。*程序输出:圆和圆柱体的信息*问题分析:*算法设计:*/#include<iostream>#include<Cmath>using namespace std;const double pi=3.14;class Point //定义坐标点类{public: Point():x(0),y(0) {}; Point(double x0, double y0):x(x0), y(y0) {};double getX(){return x;}double getY(){return y;} void PrintPoint(); //输出点的信息protected: double x,y; //点的横坐标和纵坐标};void Point::PrintPoint(){ cout<<"Point: ("<<x<<","<<y<<")"<<endl; //输出点}class Cricle:public Point{public:Cricle(Point pts,Point pte);Cricle(double a,double b,double c,double d){r=sqrt(pow(a-c,2)+pow(b-d,2));}double area();double getR(){return r;}protected:double r;};Cricle::Cricle(Point pts,Point pte){r=sqrt(pow((pts.getX()-pte.getX()),2)+pow((pts.getY()-pte.getY()),2));}double Cricle::area(){return pi*r*r;}class Cylinder:public Cricle{public:Cylinder(double a,double b,double c,double d,double hh): h(hh),Cricle(a,b,c,d){}double area1();double volume();private:double h;};double Cylinder::area1(){return 2*pi*getR()*getR()+2*pi*getR()*h;}double Cylinder::volume(){return pi*getR()*getR()*h;}int main(){double h;Point ps(-2,5),pe(7,9);cout<<"两点为:"<<endl;cout<<"1st ";ps.PrintPoint();cout<<"2nd ";pe.PrintPoint();cout<<"以两点距离为半径构成的圆:"<<endl;Cricle c(ps,pe);cout<<"圆半径为:"<<c.getR()<<endl;cout<<"圆的面积为:"<<c.area()<<endl;cout<<"以圆半径为半径构成的圆柱体:"<<endl;cout<<"请输入圆柱体的高:"<<endl;cin>>h;Cylinder Cy(-2,5,7,9,h);cout<<"圆柱体的表面积为:"<<Cy.area1()<<endl;cout<<"圆柱体的体积为:"<<Cy.volume()<<endl;return 0;}
运行结果:
心得体会:派生出的类构造函数必须使用到父类的成员
0 0
- 第十一周项目4-类族设计
- 第十一周项目4——类族的设计
- 第十一周项目4- 类族的设计
- 第十一周项目4 - 类族的设计
- 第十一周项目4类族的设计
- 第十一周项目4——类族的设计
- 第十一周【项目4 - 类族的设计】(1)
- 第十一周【项目4 - 类族的设计】(2)
- 第十一周 项目4-类族设计(1)
- 第十一周项目4-2:类族的设计-圆类
- 第十一周项目4 - 类族的设计
- 第十一周 项目4-类族的设计(2)
- 第十一周项目4-类族的设计
- 第十一周上机项目4 类族的设计
- 第十一周 项目4 类族的设计(1)
- 第十一周项目四 类族的设计
- 第十一周项目四 类族的设计(2)
- 第十一周 项目四:(1)类族的设计
- C语言 递归拆分数字
- JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容
- MySQL之锁-1 降低锁竞争,减少MySQL用户等待时间
- apache运行CGI程序的配置
- poj1011(深搜+剪枝)
- 第十一周项目4-类族设计
- JS中call和apply区别有哪些
- linux 搭建https 服务器 (apache)
- 3D游戏之路--第六篇—win32 编程(3)<更新中>
- shell编写俄罗斯方块
- HDU 4216-Computational Geometry?
- ubuntu下如何获取源码包和源码
- 新型IO架构引领存储之变(一)
- XML解析技术研究(一)