用类的方式计算长方体的体积

今天写的程序是用c++中类与对象的概念写的,我是要计算长方体的体积,我写出来的程序不报错,但结果是不对的,希望谁能帮忙看看到底是哪里的问题,感谢感谢

#include 
using namespace std;
class Volume
{
public:
void get_(int a,int b,int c);
void cul();
private:
int c,k,g;
};
void Volume::get_(int a,int b,int c)
{
    c=a;k=b;g=c;
}
void Volume::cul()
{
    cout<< c*k*g;
}
int main()
{
    Volume v1,v2;
    int a1,b1,c1,a2,b2,c2;
    cout << "输入两个长方体的长宽高"<< endl;
    cin>>a1>>b1>>c1;
    v1.get_(a1,b1,c1);
    v1.cul();
    cin>>a2>>b2>>c2;
    v2.get_(a2,b2,c2);
    v2.cul();
    return 0;
}


你设置的参数跟变量重名了都是c,所以你传入的值 g=c就会出错,结果自然也就不对


#include <iostream>
using namespace std;

class Volume {
public:
    void get_(int a, int b, int c);
    void cul();

private:
    int c, k, g;
};

void Volume::get_(int a, int b, int c_) {
    c = a;
    k = b;
    g = c_;
}

void Volume::cul() {
    cout << c * k * g << endl;
}

int main() {
    Volume v1, v2;
    int a1, b1, c1, a2, b2, c2;
    cout << "输入两个长方体的长宽高" << endl;
    cin >> a1 >> b1 >> c1;
    v1.get_(a1, b1, c1);
    v1.cul();
    cin >> a2 >> b2 >> c2;
    v2.get_(a2, b2, c2);
    v2.cul();
    return 0;
}

以下内容部分参考ChatGPT模型:


在你的代码中,你把长方体的长、宽、高分别存储在了c、k、g这三个变量中,但在cul()函数中却直接输出了它们的乘积,导致输出的结果不正确。

正确的做法应该是在cul()函数中把三个变量相乘,然后再输出结果,代码如下:

void Volume::cul()
{
    cout << c * k * g << endl;
}

另外,你在get_()函数中把第三个参数赋值给了两个变量,应该改为把第三个参数赋值给g变量,代码如下:

void Volume::get_(int a, int b, int c)
{
    this->c = a;
    k = b;
    g = c;
}

修改后的完整代码如下:

#include <iostream>
using namespace std;

class Volume
{
public:
    void get_(int a, int b, int c);
    void cul();
private:
    int c, k, g;
};

void Volume::get_(int a, int b, int c)
{
    this->c = a;
    k = b;
    g = c;
}

void Volume::cul()
{
    cout << c * k * g << endl;
}

int main()
{
    Volume v1, v2;
    int a1, b1, c1, a2, b2, c2;

    cout << "输入两个长方体的长宽高" << endl;

    cin >> a1 >> b1 >> c1;
    v1.get_(a1, b1, c1);
    v1.cul();

    cin >> a2 >> b2 >> c2;
    v2.get_(a2, b2, c2);
    v2.cul();

    return 0;
}

如果我的建议对您有帮助、请点击采纳、祝您生活愉快