早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C++语言程序设计实践C5表面积和体积的计算设计要求:创建抽象类、定义虚函数,运用继承,实现多态菜单列表选项:求下列实体的表面积和体积1.\x05球2.\x05立方体3.\x05圆锥体4.\x05圆柱5.

题目详情
C++语言程序设计 实践
C5 表面积和体积的计算
设计要求:创建抽象类、定义虚函数,运用继承,实现多态
菜单列表选项:求下列实体的表面积和体积
1.\x05球
2.\x05立方体
3.\x05圆锥体
4.\x05圆柱
5.
▼优质解答
答案和解析
#include
using namespace std;
#define PI 3.14
class Shape
{
public:
virtual double S(double) = 0;
virtual double V(double) = 0;
virtual double S(double, double) = 0;
virtual double V(double, double) = 0;
virtual double S(double, double, double) = 0;
virtual double V(double, double, double) = 0;
virtual ~Shape(){}
};
class Ball : public Shape
{
public:
virtual double S(double r)
{
return (4 * PI * r * r);
}
virtual double V(double r)
{
return (4 / (double)3 * PI * r * r * r);
}
virtual double S(double, double){return 0;}
virtual double V(double, double){return 0;}
virtual double S(double, double, double){return 0;}
virtual double V(double, double, double){return 0;}
};
class Cube : public Shape
{
public:
virtual double S(double a, double b, double c)
{
return 2 * (a * b + b * c + a * c);
}
virtual double V(double a, double b, double c)
{
return (a * b * c);
}
virtual double S(double){return 0;}
virtual double V(double){return 0;}
virtual double S(double, double){return 0;}
virtual double V(double, double){return 0;}
};
class Column : public Shape
{
public:
virtual double S(double r, double h)
{
return (2 * PI * r * r + 2 * PI * r * h);
}
virtual double V(double r, double h)
{
return (PI * r * r * h);
}
virtual double S(double){return 0;}
virtual double V(double){return 0;}
virtual double S(double, double, double){return 0;}
virtual double V(double, double, double){return 0;}
};
class Taper : public Shape
{
public:
virtual double S(double r, double R)
{
return (PI * r * r + PI * r * R);
}
virtual double V(double r, double h)
{
return (PI * r * r * h / (double)3);
}
virtual double S(double){return 0;}
virtual double V(double){return 0;}
virtual double S(double, double, double){return 0;}
virtual double V(double, double, double){return 0;}
};
void main()
{
Ball ball;
Cube cube;
Column column;
Taper taper;
double r, a, b, c, h, R;
int n = 0;
cout
看了 C++语言程序设计实践C5表...的网友还看了以下:

课本上液体压强公式是假设液面下有一高度为h、截面积为S的圆柱形的液柱为例推导的,如果将该圆柱形液柱  2020-05-13 …

某柱体实心铜制零件的截面边长是长度为55毫米线段AB和88毫米的线段AC以及圆心为P,半径为PB的  2020-05-13 …

一个圆柱体玻璃容器,底面半径10cm,装有高15cm的水,现将一个底面半径为5cm,高无限的圆柱体  2020-05-16 …

为了研究圆柱体浸入水的过程中水对容器底部的压强情况,某小组同学选用高度H、底面积S均不同的圆柱体A  2020-05-16 …

在1点半之前回答,晚了就不用了一个圆柱体玻璃容器底面直径10cm装有高15cm的水,现将一个底面半  2020-06-08 …

关于液体压强的一个疑惑一个上下底面积不同的圆柱体,假设下底面大在里面装一定的水把这个圆柱体用下底面  2020-06-27 …

建造鹦鹉洲长江大桥时,一个静止在江底实心圆柱体(设江底是水平的),其上表面离水面深度为h,图甲是所  2020-07-01 …

UG中如何在回转得到的圆柱侧面上打孔?我用回转的命令得到了一个实体,实体内部不是实心的,有球面,现  2020-07-03 …

本着“节省、高效”的原则,张明用一张长方形的铁皮正好做出一个圆柱体(设计见图,单位:分米),你能算  2020-07-31 …

假设质量均匀的空心圆柱体等分问题.假设质量均匀且为G的空心圆柱体(空心部分也为圆柱体直接为d)厚度为  2020-12-04 …