【发布时间】:2020-04-11 02:11:26
【问题描述】:
#include <iostream>
using namespace std;
class calculator {
public:
int n1, n2;
friend void setNumbers(calculator v);
friend void getNumbers(calculator v);
};
void setNumbers(calculator v) {
cin >> v.n1 >> v.n2;
}
void getNumbers(calculator v) {
cout << v.n1 << ' ' << v.n2 << '\n';
}
int main() {
calculator calc;
setNumbers(calc);
getNumbers(calc);
return 0;
}
当我调用 getNumbers 函数时,它会打印出我没有输入的完全不同的值。例如,当我输入3 6 时,它会打印0 1,而我期望3 6。有什么问题?
【问题讨论】:
-
@user4581301 我试图添加计算器 &v,它给了我错误。
-
为什么你的函数是
friends 而不是通常的成员函数? -
也许您将它添加到每个函数的一个声明中,而不是两个。这是一个很好的猜测。
-
@chris 是的,你是对的。