我需要将我正在研究的类的对象传递给函数。对我来说很难解释,所以我举了一个简单的例子。
我尝试使用'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'运算符的地方,但是我没有工作。
答案 0 :(得分:1)
函数头看起来像这样:int eatApple(apple & a)
,这意味着它接受对apple
的引用。 this
始终是一个指针(不是引用),因此您需要取消引用它:
eatApple(*this);