这简直让我感到沮丧到了内爆的边缘。我不知道为什么我不知道这一点,但是,我需要一些帮助。或者至少有一些修辞问题可以引导我朝着正确的方向前进。
我有一个叫做表达式的对象。该对象是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表示法,否则将失败。
我遇到的问题是提供的代码中间的注释...如何检索传递给函数的数据???
我不是要求代码,因为我觉得这是一个非常简单的问题,而我只是一个大脑放屁。所以,如果有人能够请我正确的方向,我会很感激。感谢
答案 0 :(得分:2)
致电时
expr1.toPostfix(expr2);
然后指向expr1
的指针作为方法内的(隐藏)this
指针传递。
此结果(无双关语)是您可以使用或不使用expression::toPostfix()
访问this->
内的被调用对象上的成员函数和变量。通常,C ++程序员在访问成员时会省略this->
。
当然,您可以在方法中使用expr2
来访问pfx
的方法。
我必须说,这是非常基本的C ++内容。您可以考虑通过C ++教程来巩固对事物的掌握。