今天写的程序是用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;
}
在你的代码中,你把长方体的长、宽、高分别存储在了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;
}