2012-04-11 6 views
0

これは単にぼかしの淵に私をイライラさせるだけです。なぜ私はこれを理解できないのかわかりませんが、私はいくつかの助けが必要です。あるいは、私を正しい方向に導くための少なくとも数々の修辞的な質問。関数を呼び出すC++のstructオブジェクト

私は式と呼ばれるオブジェクトを持っています。このオブジェクトはtokenTypeトークンの構造体です。

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

I:

//expression.h file 
struct expression 
{ 

    int numTokens ; 
    tokenType tokens[MAX_TOKENS_IN_EXPRESSION] ; 

    void print() const ; 
    ... 
} 

tokenTypeは、私は私のTEST.CPPファイルに次の行のコードを持っていることを単に

は、与えられた数(オペランド)または記号(演算子)のいずれかであります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; 
} 

どこ結果= 0の発現が正常ポストフィックス表記に変換し、失敗しそうでないれた場合。

私が抱えている問題は、提供されたコードの途中でのコメントです。どのようにデータを関数に渡すのですか?

私はこれが非常に単純な質問であり、私の一部の脳のおならであると感じているので、コードを求めていません。だから、誰かがちょうど正しい方向に私を蹴ってください、私はそれを感謝します。あなたは

expr1.toPostfix(expr2); 

を呼び出すと感謝

+0

あなたがまったく検索したかどうか不思議です.SOや他の場所でこのような質問がかなりあります。 –

+0

私はSOとGoogleを検索しようとしましたが、間違った質問をしていると思います。冗長であることをお詫びします。 – persinac

+0

申し訳ありませんが、これは基本的なC++とチュートリアルです。これをカバーする - 物を見つけることができることは本当に重要なスキルです。 –

答えて

2

はその後expr1へのポインタがメソッド内で(隠された)thisポインタとして渡されます。

結果は、this->を使用する場合と使用しない場合のexpression::toPostfix()内の呼び出されたオブジェクトのメンバ関数と変数にアクセスできるということです。通常、C++プログラマはメンバーにアクセスするときにthis->を省略します。

expr2のメソッドにはもちろん、メソッド内でpfxを使用してアクセスできます。

これはかなり基本的なC++のものです。 C++のチュートリアルでは、物事を把握するために次のことを検討することができます。

+0

さて、それは基本的なものだと分かっていますが、私は明らかに練習を続ける必要がありますが、これは本当に私をイライラさせました。しかし、説明をありがとう – persinac

関連する問題