【发布时间】:2020-10-27 09:59:06
【问题描述】:
这里我需要添加两个数字,但是我的构造函数只有一个参数。它应该有一个参数。使用 addFunc 我需要添加两个不同的数字。
int result = 0;
class Num{
private:
int a;
public:
Num(int a) {
a = a;
}
int getA(){
return a;
}
void setA(int a){
a = a;
}
int addFunc() {
return result += getA();
}
}
};
【问题讨论】:
-
a = a;没有做你认为的事情(而且真的很混乱) -
this->a = a;或Num(int a) : a(a) {}或重命名参数以避免混淆。 -
上面指出了错误。但即使有建议的修复,这段代码也毫无意义。您不认为将两个数字相加应该更容易吗?我强烈怀疑你误解了你被要求做的事情。
-
有可能在
main中你应该评估总和,写成int f = num.addFunc(num1);并相应地更改函数签名。 -
Bob__ 的建议比你写的更有意义。使用该代码
addFunc可以访问它应该加在一起的两个数字(显然它需要这样做)。这样你就可以消除全局result变量,我确定你不应该使用它。
标签: c++ oop constructor