Circle派生出Cylinder类
来源:互联网 发布:淘宝店铺积分怎么算 编辑:程序博客网 时间:2024/06/11 19:55
程序代码
#include <iostream>using namespace std;class Point//点类{public: //使用初始化表初始化点类 Point(double a = 0, double b = 0):x(a), y(b){} void setPoint(double a, double b);//设置点的坐标 double getX(); double getY(); //重载<<实现点的坐标的输出 friend ostream& operator<<(ostream &output, Point &p);protected: double x;//横坐标 double y;//纵坐标};//设置点的坐标void Point::setPoint(double a, double b){ x = a; y = b;}//得到x的值double Point::getX(){ return x;}//得到y的值double Point::getY(){ return y;}//重载<<实现点的坐标的输出ostream& operator<<(ostream &output, Point &p){ output<<"("<<p.x<<","<<p.y<<")"<<endl; return output;}//Point派生出Circle类class Circle : public Point{public: //构造函数(初始化半径的两个端点) Circle(double a, double b, double r); void SetRadius(double r);//设置圆的半径 double GetRadius();//得到圆的半径 double getArea();//计算圆的面积 //重载<<实现输出圆的面积 friend ostream& operator<<(ostream &output, Circle &c);protected: double r;//圆的半径};//构造函数(使用初始化表初始化Circle类)Circle::Circle(double a, double b, double r): Point(a, b), r(r){}//设置圆的半径void Circle::SetRadius(double r){ this->r = r;}//得到圆的半径double Circle::GetRadius(){ return r;}//计算圆的面积double Circle::getArea(){ //计算圆的面积 double s = 3.14 * r * r; return s;}//重载<<输出圆的面积ostream& operator<<(ostream &output, Circle &c){ output<<"圆的面积:"<<c.getArea()<<endl; return output;}//圆类派生出圆柱类class Cylinder : public Circle{public: Cylinder(double a = 0, double b = 0, double r = 0, double h = 0);//构造函数 void setHeight(double h);//设置圆柱体的高度 double SuperArea();//计算圆柱体的表面积 double setVolume();//计算圆柱体的的体积 //重载<<实现输出圆柱体的表面积和体积 friend ostream& operator<<(ostream &output, Cylinder &cy);protected: double height;//高度};//构造函数 Cylinder::Cylinder(double a, double b, double r, double h): Circle(a, b, r), height(h){}//设置圆柱体的高度void Cylinder::setHeight(double h){ height = h;}//计算圆柱体的表面积double Cylinder::SuperArea(){ double s; s = 2 * Circle::getArea() + 2 * 3.14 * Circle::GetRadius() * height; return s;}//计算圆柱体的的体积double Cylinder::setVolume(){ double v; v = Circle::getArea() * height; return v;}//重载<<实现输出圆柱体的表面积和体积ostream& operator<<(ostream &output, Cylinder &cy){ output<<"圆柱体的表面积:"<<cy.SuperArea()<<"\n"<<"圆柱体的体积:"<<cy.setVolume()<<endl; return output;} void main(){ //定义一个圆柱体对象 Cylinder c1; //设置点的坐标 c1.setPoint(1.0, 2.0); //设置圆的半径 c1.SetRadius(2.0); //设置圆柱体的高为1.0 c1.setHeight(1.0); //输出圆柱体的表面积和体积 cout<<c1; system("pause");}
执行结果
0 0
- Circle派生出Cylinder类
- 11周1--3 以Circle类为直接基类,派生出一个Cylinder(圆柱体)类
- 第十周实验指导--任务3--先建立一个Point(点)类,再派生出一个Circle(圆)类,再派生出一个Cylinder(圆柱体)类
- 第十周C++【任务3】建立一个Point(点)类,派生出一个Circle(圆)类,派生出一个Cylinder(圆柱体)类
- 第10周任务3(先建立一个Point(点)类,派生出一个Circle(圆)类,再派生出一个Cylinder(圆柱体)类)
- 定义Point(点)类,由Point类派生出Circle(圆)类,再由Circle类派生出Cylinder(圆柱体)类。将类的定义部分分别作为3个头文件
- Point类派生出Circle类
- 派生Cylinder类
- 点Point 圆Circle 圆柱Cylinder的继承与派生
- 类的继承与派生(Shape例子派生Rectangle和Circle,Rectangle派生出Square)
- Point-->Circle-->Cylinder
- 再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main
- Point类派生Circle类
- 继承的综合运用《Point类派生出Circle类并且进行各种操作》
- 十三周(三)定义抽象类shape,由它派生出三个派生类Circle,Rectangle,Triangle
- 定义抽象基类Shape,由它派生出3个派生类,Circle、Rectangle、Triangle
- 第十四周 项目二:定义抽象类Shape,由此派生出Circle(圆形)、Rectangle(矩形)、Triangle(三角形)
- 第十三周任务三(义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形))
- linux网桥
- 做网线
- 运算符,表达式,语句
- 递归求解二——寻找指定和的组合
- 在UNICODE编码格式下使用cvSaveImage出现cannot convert from 'CString' to 'const char *
- Circle派生出Cylinder类
- POJ 1789 Truck History (最小生成树)
- 如何越狱苹果TV2在iOS 4.2使用PwnageTool
- java 操作新建Excel 并插入值
- Xcode使用技巧
- win7如何安装maven、安装protoc
- 如何成为成功的Android游戏开发
- CentOS6.5下Nginx1.7.4安装记录
- startActivityForResult 的用法