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

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表...的网友还看了以下:

用二分法插入排序方法进行排序,被排序的表(或序列)应采用的数据结构是________。A.单链表B.  2020-05-24 …

用二分法插入排序方法进行排序,被排序的表(或序列)应采用的数据结构是______。A.单链表B.数组  2020-05-24 …

线性表进行二分法查找的前提是( )。A)线性表以顺序方式存储,并已按关键码值排好B)线性表以顺序方  2020-05-24 …

数据结构的问题?由于栈的插入和删除都是在栈顶进行的,所以栈具有的特点。每次使两个相邻的有序表合并成  2020-06-18 …

6.下列说法正确的有:排序对话框可以选择排序方式只有递增和递减两种执行“格式”菜单中的“排序”命令  2020-06-20 …

数据结构题索引顺序表上的查找分两个阶段:(1)是——(2)是——设表中的元素的初始状态是按键值递增  2020-06-28 …

人体脊柱的分段方法和表示的方法?人体脊柱分为颈胸腰骶四段,具体的体表标志在哪里?才能区分?用英文字  2020-07-04 …

将一个正方体木块削成一个最大的圆柱体,这个圆柱体的体积是401.92平方厘米,这个正方体的体积原是  2020-07-14 …

二叉排序树问题,课程设计采用顺序存储方式或二叉链表存储方式保存二叉排序树(1)给出n个数,并由这n  2020-07-23 …

先找出下面数列的规矩,在完成填空序号1,代表数5,序号2,代表数10,序号3,代表数15.序号先找出  2020-12-01 …