崩坏星穹铁道吧 关注:420,514贴子:4,842,231
  • 2回复贴,共1

模拟宇宙6 彩门!

只看楼主收藏回复

爽局,彩门!!


IP属地:四川来自Android客户端1楼2023-05-02 13:09回复
    1


    IP属地:四川来自Android客户端2楼2023-05-02 14:58
    回复
      #include<iostream>
      using namespace std;
      // 基类:Container
      class Container{
      protected:
      double radius; // 半径
      double height; // 高度
      public:
      // 构造函数
      Container(double ra)
      {
      Container::radius=ra;
      }
      // 返回半径
      double print_ra()
      {
      return radius;
      }
      // 返回高度
      double print_he()
      {
      return height;
      }
      // 纯虚函数:表面积
      virtual double surface_area()=0;
      // 纯虚函数:体积
      virtual double volume()=0;
      };
      // 派生类:Sphere(球体)
      class Sphere:public Container{
      public:
      // 构造函数
      Sphere(double ra):Container(ra)
      {}
      // 计算表面积
      double surface_area()
      {
      return 4*3.14*radius*radius;
      }
      // 计算体积
      double volume()
      {
      return 3.14*radius*radius*radius*4/3;
      }
      };
      // 派生类:Cylinder(圆柱体)
      class Cylinder:public Container{
      public:
      // 构造函数
      Cylinder(double ra,double he):Container(ra)
      {
      height=he;
      }
      // 计算表面积
      double surface_area()
      {
      return 2*3.14*radius*(height+radius);
      }
      // 计算体积
      double volume()
      {
      return 3.14*radius*radius*height;
      }
      };
      // 派生类:Cube(立方体)
      class Cube:public Container{
      public:
      // 构造函数
      Cube(double ra):Container(ra){};
      // 计算表面积
      double surface_area()
      {
      return radius*radius*6;
      }
      // 计算体积
      double volume()
      {
      return radius*radius*radius;
      }
      };
      // 主函数
      int main()
      {
      Container*ptr;
      Sphere obj1(8);
      Cylinder obj2(3,5);
      Cube obj3(5);
      ptr=&obj1;
      cout<<"球体半径:"<<ptr->print_ra()<<endl;
      cout<<"球体表面积:"<<ptr->surface_area()<<endl;
      cout<<"球体体积:"<<ptr->volume()<<endl;
      ptr=&obj2;
      cout<<"圆柱体半径:"<<ptr->print_ra()<<endl;
      cout<<"圆柱体高:"<<ptr->print_he()<<endl;
      cout<<"圆柱体表面积:"<<ptr->surface_area()<<endl;
      cout<<"圆柱体体积:"<<ptr->volume()<<endl;
      ptr=&obj3;
      cout<<"正方体边长:"<<ptr->print_ra()<<endl;
      cout<<"正方体表面积:"<<ptr->surface_area()<<endl;
      cout<<"正方体体积:"<<ptr->volume()<<endl;
      return 0;
      }


      IP属地:四川来自Android客户端3楼2023-11-16 14:43
      回复