C++ 使用c+的面向对象编程查找长方体的体积+;

C++ 使用c+的面向对象编程查找长方体的体积+;,c++,error-handling,compiler-warnings,volume,C++,Error Handling,Compiler Warnings,Volume,编写一个名为boxVolume的类,其中长度、宽度和高度作为数据成员,readData()、dispData()和computeVol()作为函数。还要编写一个main()函数来测试boxVolume类 我试过了- #include <iostream> class BoxVolume { public: float length; float width; float height; void readData() {

编写一个名为boxVolume的类,其中长度、宽度和高度作为数据成员,readData()、dispData()和computeVol()作为函数。还要编写一个main()函数来测试boxVolume类

我试过了-

#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();

};
#包括
班级人数
{
公众:
浮子长度;
浮动宽度;
浮动高度;
void readData()
{
使用名称空间std
cout>“BoxVolume::length”;
cout>“BoxVolume::width”;
cout>“BoxVolume::height”;
}
void computeVolume()
{
浮子体积;
体积='void readData()::长度'*'void readData()::宽度'*'void readData()::高度';
}
void dispData()
{
使用名称空间std

你应该先读一本C++入门书,先掌握语言的基本知识,然后开始编码。我建议加速C++,因为它比竞争对手要短,但仍然相当完整(在出版时)。现在,它对语言的后续标准缺乏支持,从C++ 11开始,所以目前C++的引物可能是最好的选择,尽管大约1000页,一个新版本将在几个月内出现。另外,StruouTUP是C++的一个巡回。他是语言的创建者。 下面是代码的编译版本,我添加了封装,但如果您不想公开数据成员,可以使用
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
};
#包括
使用名称空间std;
班级人数
{
公众:
void readData()
{
长度;
宽度;
cout>高度;
}
float computeVolume()
{
返回长度*宽度*高度;
}
void dispData()
{
//使用命名空间std//这是艺术性的,我无法取消它

cout
length*width*height
。这段代码有很多东西需要解包。除了非常错误的东西,这里还有很多糟糕的OOP。我刚刚看到了
main()
function.Yikes.IMHO,使用OOP计算长方体的体积是多余的。您的对象是长度、宽度、高度和体积。将它们作为单独的类或结构是多余的。将它们作为简单的数字保留。我很确定对象将是一个包含长度、宽度和体积的数据成员的长方体。除非您试图从破译的代码中推断一些东西。非常感谢Giogre