如何将类的对象传递给该对象的类函数中的函数?

时间:2019-01-26 14:26:54

标签: c++

我需要将我正在研究的类的对象传递给函数。对我来说很难解释,所以我举了一个简单的例子。

我尝试使用'this'运算符,希望它会将'this'对象发送给函数,但是没有用。我也尝试过搜索该问题,但找不到任何明智的答案。

#include <iostream>
unsing namespace std;
class apple;

int eatApple(apple & a)
{
   a.var1=0;
   a.var2=0;

   return 0;
}

class apple
{
   int var1;
   int var2;

   void cutApple();
};

void apple::cutApple()
{
   var1/=2;
   var2/=2;

   eatApple(/*HERE I HAVE TO PASS THE OBJECT OF THE CLASS TO THE FUNCTION*/);

}

int main()
{
   apple Apple;

   Apple.cutApple();

   return 0;
}

请注意,此代码只是问题的一个示例。我在/ * * /中写过的地方就是我尝试过'this'运算符的地方,但是我没有工作。

1 个答案:

答案 0 :(得分:1)

函数头看起来像这样:int eatApple(apple & a),这意味着它接受对apple的引用。 this始终是一个指针(不是引用),因此您需要取消引用它:

eatApple(*this);