每当我更改 s1.sqseries
中的值时,输出永远不会改变。它始终是 687194768。为什么会这样?
#include<iostream>
#include<cmath>
#include<string>
#include<iomanip>
using namespace std;
class square
{
int a,b;
public:
void sqseries(int x,int y)
{
x=a;
y=b;
int c;
for(c=a;c<=b;c++)
{
cout<<c*c<<endl;
}
}
};
int main ()
{
square s1;
s1.sqseries(5,8); /////////right here///////
return 0;
}
最佳答案
你需要:
void sqseries(int x,int y)
{
a=x;
b=y;
...
}
请注意,在您当前的代码中,您只需将 x
和 y
重新分配给 a
和 b
因此,您的函数永远不会使用作为函数参数传递的值,而只是用 a
和 b
的值覆盖它们。
关于C++...方形系列(每次输出相同)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9292797/