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

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