#include <iostream> using namespace std; #include<string> #include"time.h" #include"math.h" #define PI 3.14 //亲在begin和end之间完成各个类的定义及实现 /*********begin**********/ /**********end********/ int main() { int n; double height,r,t1,t2,t3,l; cin>>n>>height>>r;//输入n=0,表示圆柱体 Circularcolumn c1(n,height,r); cin>>n>>height>>t1>>t2>>t3;//输入n=3,表示三棱柱 Triangularprism t(n,height,t1,t2,t3); cin>>n>>height>>l;//输入n=4表示正四棱柱 Quadrangular qu(n,height,l); Body *body[3]; body[0]=&c1; body[1]=&t; body[2]=&qu; double superficalsum=0; double volumesum=0; for(int i=0;i<3;i++) { volumesum+=body[i]->volume();//volume()获取该体的体积 superficalsum+=body[i]->superficialarea();//获取该体的表面积 } cout<<"all volume="<<volumesum<<endl; cout<<"all superfilarea="<<superficalsum<<endl; }
时间: 2023-08-02 17:06:54 浏览: 76
这段代码是一个计算不同几何体的体积和表面积的程序。程序中定义了三个类:Circularcolumn、Triangularprism和Quadrangular,分别表示圆柱体、三棱柱和正四棱柱。这三个类都继承自一个基类Body,并实现了该基类中的虚函数volume()和superficialarea()。
在主函数中,分别实例化了一个圆柱体、一个三棱柱和一个正四棱柱,并将它们的指针存储在一个Body类型的数组中。然后通过循环遍历该数组,分别计算每个几何体的体积和表面积,并将它们累加到总体积和总表面积中。最后输出总体积和总表面积。
需要注意的是,程序中使用了预处理指令#define定义了常量PI,用于计算圆柱体的表面积和体积。
阅读全文