使用 C++ 面向对象编程查找盒子的体积

find volume of a box using object oriented programming with c++

写一个class 名为boxVolume,以长度、宽度和高度作为数据成员,以readData()、dispData() 和computeVol() 作为函数。同时编写一个 main() 函数来测试 boxVolume class.

我试过了-

#include <iostream>

class BoxVolume
{
    public:

    float length;
    float width;
    float height;

    void readData()
    {
        using namespace std
        cout << "length: ";
        cin >> 'BoxVolume::length';
        cout << "width: ";
        cin >> 'BoxVolume::width';
        cout << "height: ";
        cin >> 'BoxVolume::height';
    }
    void computeVolume()
    {
        float volume;
        volume = 'void readData()::length' * 'void readData()::width' * 'void readData()::height';
    }

    void dispData()
    {
        using namespace std
        cout << "Volume is:" << 'void computeVolume()::volume';

    }

};

int main()
{
    BoxVolume obj1,obj2,obj3;
    obj1.readData();
    obj2.computeVolume();
    obj3.dispData();

};

你应该先看一本C++入门书,先了解这门语言的基础知识,然后再开始编码。我建议 Accelerated C++ 因为它比它的竞争对手短,但仍然很完整(在它发布时)。现在它缺乏对该语言的后续标准的支持,从 C++11 开始,所以目前 C++ Primer 可能是最好的选择,尽管它大约有 1000 页并且新版本是准备在几个月内出来。或者,还有 Stroustrup 的 C++ 之旅。他是语言的创造者。

下面代码的编译版本,我添加了封装,但如果您不关心使数据成员成为 public,您可以使用 struct 代替 class:

#include <iostream>

using namespace std;

class BoxVolume
{
public:
    void readData()
    {
        cout << "length: ";
        cin >> length;
        cout << "width: ";
        cin >> width;
        cout << "height: ";
        cin >> height;
    }

    float computeVolume()
    {
        return length * width * height;
    }

    void dispData()
    {
        //using namespace std  // this is artistic I couldnt cancel it
        cout << "Volume is: " << computeVolume() << endl;

    }

private:
    float length;
    float width;
    float height;
};

int main()
{
    BoxVolume obj1,obj2,obj3;
    obj1.readData();
    obj2.computeVolume();  // data undefined for obj2
    obj3.dispData();       // data undefined for obj3
};

是的,我忍不住要回答这个问题。