C++调用函数的结构对象
C++ struct object calling a function
这简直让我沮丧到崩溃的边缘。我不知道为什么我无法弄清楚这一点,但是,我需要一些帮助。或者至少一些反问句来引导我朝着正确的方向前进。
我有一个名为表达式的对象。此对象是 tokenType 令牌的结构。
//expression.h file
struct expression
{
int numTokens ;
tokenType tokens[MAX_TOKENS_IN_EXPRESSION] ;
void print() const ;
...
}
tokenType 只是一个数字(操作数)或一个符号(运算符)
鉴于此,我的测试.cpp文件中有以下代码行:
expression expr1 , expr2 ;
...
errorCode = expr1.toPostfix( expr2 ) ;
我必须实现到PostFix( [参数] );其函数声明如下:
//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;
}
其中,如果结果 = 0,则表达式已成功转换为 PostFix 表示法,否则不成功。
我遇到的问题是提供的代码中间的注释......如何检索传递到函数中的数据???
我不是在要求代码,因为我觉得这是一个非常简单的问题,只是我的一个脑屁。因此,如果有人能把我踢到正确的方向,我将不胜感激。谢谢
当你打电话时
expr1.toPostfix(expr2);
然后,指向 expr1
的指针作为方法内部的(隐藏)this
指针传递。
这样做的结果(没有双关语)是,无论是否使用 this->
,您都可以访问 expression::toPostfix()
中被调用对象上的成员函数和变量。通常,C++程序员在访问成员时会省略this->
。
当然,您可以通过在方法中使用pfx
来访问expr2
方法。
我必须说,这是非常基本的C++东西。您可以考虑按照C++教程进行操作,以巩固您对事物的掌握。
相关文章:
- 为什么我们再次从结构对象创建结构变量?
- 在什么情况下,两个堆栈分配的结构对象的 this 点指向同一个地址?
- 结构对象的指针成员在传递给函数时被修改
- C++ 提升 - 包含类层次结构对象的类的序列化
- 如何将变量从变量传递到指针结构对象
- 在 boost::heap::p riority_queue 中推送结构对象时出错
- 在 c++ 中将结构的每个成员写入文件和将结构对象直接写入文件之间有什么区别吗?
- 为什么结构对象不是类型?
- 程序不会编译,使用带有结构对象的数组
- 在类构造函数中初始化自定义结构对象的正确方法
- 使用QString或字符串调用结构对象
- 在输入结构对象的输入过程中运行时间错误
- C 中的堆是否包含类和结构对象,或者仅包含指针
- 如何将部分初始化的结构对象放入向量
- 如何分配给结构对象的成员
- 尝试创建结构对象,在位置0x3FE00000中创建访问冲突写入错误
- erase() 不适用于结构/对象内的 STL 向量
- 将指向参数个数可变的函数的指针存储在结构对象中
- 如何通过先前存储的ID从结构对象中检索值?C
- 非结构对象布局