C++ 仅使用一个参数的构造函数添加两个数字

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

这里我需要添加两个数字,但我的构造函数只有一个参数。它应该有一个参数。使用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();
    }
  }
};
这是我的“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);

cout
a=a;
不能做你认为它能做的事(除此之外,它还真的令人困惑)
this->a=a;
Num(inta):a(a){
或重命名参数以避免混淆。错误已在上面指出。但即使有修复建议,此代码也毫无意义。您不认为添加两个数字应该更容易一些吗?我强烈怀疑您误解了要求您执行的操作。很可能在
main
中您应该进行评估编写类似于
int f=num.addFunc(num1);
的和,并相应地更改该函数签名。Bob_uuuu的建议比您编写的更有意义。使用该代码
addFunc
可以访问它应该相加的两个数字(显然它需要这样做)。这样,您可以消除全局
结果
变量,我确信您不应该使用该变量。可能使用构造函数中的初始值设定项列表。与当前相比,OPs代码的更改不多,并且在
setA
中仍然有
this->a=a
的示例