gpt4 book ai didi

C++结构对象调用一个函数

转载 作者:行者123 更新时间:2023-11-28 03:38:32 24 4
gpt4 key购买 nike

这简直让我沮丧到崩溃的边缘。我不知道为什么我无法解决这个问题,但是,我需要一些帮助。或者至少是一些引导我朝着正确方向前进的修辞问题。

我有一个叫做表达式的对象。此对象是 tokenType 标记的结构。

//expression.h file
struct expression
{

int numTokens ;
tokenType tokens[MAX_TOKENS_IN_EXPRESSION] ;

void print() const ;
...
}

tokenType 只是一个数字(操作数)或一个符号(运算符)

鉴于此,我的 test.cpp 文件中有这些代码行:

expression expr1 , expr2 ;
...
errorCode = expr1.toPostfix( expr2 ) ;

我必须执行 toPostFix( [parameter] );其函数声明如下:

//in expression.cpp
int expression::toPostfix( expression & pfx ) const
{
int result = 1;

//how do I read in the 'expression' that is calling this method???

return result;
}

如果 result = 0,则表达式成功转换为 PostFix 表示法,否则不成功。

我遇到的问题是所提供代码中间的注释...如何检索传递给函数的数据???

我不是要代码,因为我觉得这是一个非常简单的问题,而且只是我的脑放屁。因此,如果有人可以请将我踢向正确的方向,我将不胜感激。谢谢

最佳答案

当你打电话时

expr1.toPostfix(expr2);

然后指向 expr1 的指针作为方法内部的(隐藏的)this 指针传递。

这样做的结果(没有双关语意)是您可以在 expression::toPostfix() 中访问被调用对象的成员函数和变量,使用或不使用 this->/。通常,C++ 程序员在访问成员时会省略 this->

当然,您可以通过在方法中使用pfx 来访问expr2 的方法。

我必须说,这是非常基础的 C++ 内容。您可能会考虑学习 C++ 教程来巩固您对事物的掌握。

关于C++结构对象调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com