[C++/PTA] 立方体类的实现

发布时间 2023-06-14 21:52:22作者: 秋说

题目要求

立方体类Box的实现,完成计算体积、计算表面积、输出结果等功能。其中给定的主函数为:

int  main( ){
    float ab;
    cin>>ab;
    Box  obj;
    obj.seta( ab );
    obj.getvolume( );
    obj.getarea( );
    obj.disp( );
    return 0;
}

输入格式:
立方体的边长,可以是float类型的数据。

输出格式:
立方体的体积和表面积,中间用一个空格隔开,末尾换行。

输入样例:
3

输出样例:
27 54

解题思路

这段代码实现了一个简单的立方体类,主要完成如下任务:

  1. 定义立方体类Box,包含以下成员变量和成员函数:
  • 成员变量:

    • 立方体边长ab
    • 立方体体积volume
    • 立方体表面积area
  • 成员函数:

    • 构造函数,将ab初始化为0
    • seta函数,设置立方体边长
    • getvolume函数,计算立方体体积
    • getarea函数,计算立方体表面积
    • disp函数,输出立方体体积和表面积
  1. 主函数中

首先在主函数中定义一个变量ab,用于保存用户输入的立方体边长;

然后创建一个立方体对象obj;

调用obj的seta函数,将ab作为参数进行传递,并将立方体边长ab设置为用户输入的值;

调用obj的getvolume函数,计算立方体体积,并将计算结果保存在obj.volume中;

调用obj的getarea函数,计算立方体表面积,并将计算结果保存在obj.area中;

调用obj的disp函数,将立方体体积和表面积输出到标准输出流中;

代码

#include <iostream>
#include <math.h>

using namespace std;

// 定义立方体类
class Box {
    private:
        float ab; // 立方体边长
        float volume; // 立方体体积
        float area; // 立方体表面积

    public: 
        // 构造函数,将边长初始化为0
        Box() {
            ab = 0;
        }

        // 设置立方体边长
        void seta(float a) {
            ab = a;
        }

        // 计算立方体体积
        void getvolume() {
            volume = pow(ab, 3);
        }

        // 计算立方体表面积
        void getarea() {
            area = 6.0 * ab * ab;
        }

        // 打印立方体体积和表面积
        void disp() {
            cout << volume << " " << area << endl; 
        }
};

int main() {
    float ab; // 立方体边长

    cin >> ab;

    Box obj; // 创建立方体对象
    obj.seta(ab); // 设置立方体边长
    obj.getvolume(); // 计算立方体体积
    obj.getarea(); // 计算立方体表面积
    obj.disp(); // 打印立方体体积和表面积

    return 0;
}

总结

该程序的实现过程比较简单,主要是对类和对象的使用进行了练习,并且涉及到了一些基本的输入输出操作和数学库函数的使用,读者可躬身实践。

我是秋说,我们下次见。