第三周项目5-长方体类

/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 3月 10 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: 长、宽、高
*问题描述:输入长方体长、宽、高,求体积和表面积
*程序输出:表面积,体积
*问题分析:
*算法设计:
*/#include<iostream>
using namespace std;
class Bulk
{
private:
    double length;
    double width;
    double height;
public:
    void volume();
    void areas();
    void input();
};
void Bulk::input()
{
    double l,w,h;
    cout<<"请输入长、宽、高:"<<endl;
    cin>>l>>w>>h;
    length=l;
    width=w;
    height=h;
}
void Bulk::volume()
{
    cout<<"体积为:"<<length*width*height<<endl;
}
void Bulk::areas()
{
    cout<<"表面积为:"<<2*height+2*width+2*length<<endl;
}
int main()
{
    Bulk a,b,c;
    a.input();
    b.input();
    c.input();
    a.areas();
    a.volume();
    b.areas();
    b.volume();
    c.areas();
    c.volume();
    return 0;
}

运行结果:

心得体会:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 长方体和四棱锥的表面积和体积可以通过类的继承来实现。 首先,我们可以创建一个父类Shape,其中包含计算表面积和体积的方法。然后,我们可以创建两个子类Rectangle和Pyramid,分别表示长方体和四棱锥。 在Rectangle类中,我们可以定义长、宽、高三个属性,并重写Shape类中的计算表面积和体积的方法。在Pyramid类中,我们可以定义底面边长、高、侧棱长三个属性,并同样重写Shape类中的计算表面积和体积的方法。 通过这种方式,我们可以方便地计算长方体和四棱锥的表面积和体积,同时也可以避免代码重复。 ### 回答2: 先来介绍一下面向对象中类的继承。类的继承是面向对象程序设计中的一个重要概念,指的是一个类可以继承另一个类的属性和方法,从而减少重复代码编写,并且可以有效提高代码的可维护性和复用性。 在本题中,我们可以定义两个类,一个是长方体类,一个是四棱锥类,再定义一个父类——几何体类,用来规定基本属性和方法。在几何体类中,我们定义了一个常量PI表示π,一个基本属性名为name表示几何体的名称,以及两个抽象方法分别用于计算表面积和体积。具体代码如下: ``` abstract class Geometry{ public const PI = 3.14; protected $name; public abstract function getArea(); public abstract function getVolume(); } ``` 在长方体类和四棱锥类中,我们分别继承了几何体类,并定义额外的属性,如长方体的长、宽、高,四棱锥的棱长和高。在继承了父类中的抽象方法之后,我们就可以实现自己的方法,分别计算长方体和四棱锥的表面积和体积。具体代码如下: ``` class Cuboid extends Geometry{ private $length; private $width; private $height; public function __construct($name, $length, $width, $height){ $this->name = $name; $this->length = $length; $this->width = $width; $this->height = $height; } public function getArea(){ return 2 * ($this->length * $this->width + $this->width * $this->height + $this->length * $this->height); } public function getVolume(){ return $this->length * $this->width * $this->height; } } class Pyramid extends Geometry{ private $side; private $height; public function __construct($name, $side, $height){ $this->name = $name; $this->side = $side; $this->height = $height; } public function getArea(){ return $this->side * $this->side + 2 * $this->side * sqrt(pow($this->side/2, 2) + pow($this->height, 2)); } public function getVolume(){ return $this->side * $this->side * $this->height / 3; } } ``` 最后,我们可以在主函数中创建一个长方体对象和一个四棱锥对象,并调用它们的方法,计算出它们的表面积和体积。具体代码如下: ``` $cuboid = new Cuboid('长方体', 5, 7, 9); $pyramid = new Pyramid('四棱锥', 6, 10); echo $cuboid->name . '的表面积为:' . $cuboid->getArea() . ',体积为:' . $cuboid->getVolume() . PHP_EOL; echo $pyramid->name . '的表面积为:' . $pyramid->getArea() . ',体积为:' . $pyramid->getVolume() . PHP_EOL; ``` 输出结果如下: ``` 长方体的表面积为:286,体积为:315 四棱锥的表面积为:159.0622577483,体积为:120 ``` 可以看到,我们通过继承的方式,成功计算出了长方体和四棱锥的表面积和体积,同时实现了代码的复用和可维护性的提升。 ### 回答3: 长方体和四棱锥是几何图形中常见的两种形状,经常在数学和物理中被使用。类的继承是面向对象程序设计中的一个重要概念,使得代码能够更加简洁和易于维护。在本次作业中,我们需要编写一个面向对象的程序来计算长方体和四棱锥的表面积和体积。 首先,我们需要定义一个父类Shape,用于存储图形的一些基本信息,例如名称、体积和表面积等。在Shape类中,我们需要定义一些公有方法来计算图形的体积和表面积,例如getVolume()和getSurfaceArea()等。由于长方体和四棱锥都是具有体积和表面积的图形,因此我们可以通过Shape类来实现它们的计算公式。 接着,我们需要定义两个子类,Rectangle和Pyramid。Rectangle用于计算长方体的体积和表面积,Pyramid用于计算四棱锥的体积和表面积。在Rectangle类中,我们需要定义长、宽和高等基本信息,同时重写getVolume()和getSurfaceArea()方法,根据长方体的计算公式进行计算。在Pyramid类中,我们需要定义底面边长、高和侧边斜高等基本信息,同时重写getVolume()和getSurfaceArea()方法,根据四棱锥的计算公式进行计算。由于Pyramid类需要计算侧面积和底面积,因此我们可以定义两个私有方法来辅助计算,例如getSideArea()和getBottomArea()等。 最后,我们可以编写一个测试程序来验证我们的代码是否正确。在测试程序中,我们可以创建一个长方体对象和一个四棱锥对象,为它们设置相应的属性,然后调用它们的getVolume()和getSurfaceArea()方法来计算出体积和表面积。最终,我们可以输出计算结果,以便于检查代码是否正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值