题意整理。

  • 采用封装的思想设计一个立方体类。
  • 立方体类包括长、宽、高三个成员变量,以及面积、体积两个成员方法。

方法一(模拟)

1.解题思路

  • 首先定义属性,包括立方体的长、宽和高。
  • 然后定义方法,包括一个构造方法,三个设置长、宽、高的方法,三个获取长、宽、高的方法,一个获取表面积的方法,一个获取体积的方法。

图解展示: alt

2.代码实现

#include <iostream>
using namespace std;

class Cube {

    //定义属性
    private:
        int length, width, height;
    
    //定义方法
    public:
        //构造方法
        Cube(){}
  
        //设置长、宽、高
        void setLength(int l){
            length=l;
        }

        void setWidth(int w){
            width=w;
        }

        void setHeight(int h){
            height=h;
        }
        
        //获取长、宽、高
        int getLength(){
            return length;
        }
        
        int getWidth(){
            return width;
        }
    
        int getHeight(){
            return height;
        }
    
        //计算表面积(6个面的面积之和)
        int getArea(){
            return 2*(length*width+length*height+width*height);
        }
    
        //计算体积(长*宽*高)
        int getVolume(){
            return length*width*height;
        }

};

int main() {

    int length, width, height;
    cin >> length;
    cin >> width;
    cin >> height;

    Cube c;
    c.setLength(length);
    c.setWidth(width);
    c.setHeight(height);

    cout << c.getLength() << " "
        << c.getWidth() << " "
        << c.getHeight() << " "
        << c.getArea() << " "
        << c.getVolume() << endl;

    return 0;
}

3.复杂度分析

  • 时间复杂度:需要进行常数次操作,所以时间复杂度为O(1)O(1)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)