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' 运算符的地方,但我没有工作。
解决方案
函数头看起来像这样:int eatApple(apple & a)
,这意味着它接受对 的引用apple
。this
始终是指针(不是引用),因此您需要取消引用它:
eatApple(*this);
推荐阅读
- reactjs - 如何修复在 React 中使用 axios 获得的“未处理的拒绝(错误):网络错误”
- intellij-idea - 阻止 Rider 自动选择运行/调试配置
- javascript - 我的 Discord 机器人使用 discord.js 一次发送多条消息
- git - Git:从分支中删除目录而不影响其他分支
- javascript - D3.js 将 realtive 拖动到图形 svg
- python - 用 BeautifulSoup 刮表,如何用换行符分隔元素?
- dart - 在前一个方法完成之前运行的方法,Future Async Dart
- python - 从嵌套列表创建字典
- c# - 更新和扩展枚举 C#
- python - 如何增加神经网络可以识别的图像范围?