C++ 仅使用一个参数的构造函数添加两个数字
这里我需要添加两个数字,但我的构造函数只有一个参数。它应该有一个参数。使用addFunc,我需要添加两个不同的数字C++ 仅使用一个参数的构造函数添加两个数字,c++,oop,constructor,C++,Oop,Constructor,这里我需要添加两个数字,但我的构造函数只有一个参数。它应该有一个参数。使用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 resul
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();
}
}
};
这是我的“main”函数,我需要输出两个数字的总和,这两个数字应该保存到“result”变量中。
问题是,我没有得到真正的结果5+6=11,而是得到了->
根据Bob_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
class Num {
private:
int a;
public:
Num(int a) {
this->a = a;
}
int getA() {
return a;
}
void setA(int a) {
this->a = a;
}
int addFunc(Num other) {
return a + other.a;
}
};
int main()
{
Num num(5);
Num num2(6);
cout << num.addFunc(num2);
}
class-Num{
私人:
INTA;
公众:
数字(整数a){
这->a=a;
}
int getA(){
返回a;
}
无效setA(INTA){
这->a=a;
}
int addFunc(Num其他){
返回a+其他.a;
}
};
int main()
{
数量(5);
Num num2(6);
couta=a;
不能做你认为它能做的事(除此之外,它还真的令人困惑)this->a=a;
或Num(inta):a(a){
或重命名参数以避免混淆。错误已在上面指出。但即使有修复建议,此代码也毫无意义。您不认为添加两个数字应该更容易一些吗?我强烈怀疑您误解了要求您执行的操作。很可能在main
中您应该进行评估编写类似于int f=num.addFunc(num1);
的和,并相应地更改该函数签名。Bob_uuuu的建议比您编写的更有意义。使用该代码addFunc
可以访问它应该相加的两个数字(显然它需要这样做)。这样,您可以消除全局结果
变量,我确信您不应该使用该变量。可能使用构造函数中的初始值设定项列表。与当前相比,OPs代码的更改不多,并且在setA
中仍然有this->a=a
的示例