2011-11-12 26 views
-1

私は、両方のオブジェクトを持つ2つのパラメータを持つ関数を持っています。私は関数内でこれらのオブジェクトを変更し、後でその変更を見る必要があります。しかし、ポインタは機能しません。何か案が?関数内のオブジェクトを変更する

void foo(apple &a,apple &b) 
{ 
    //change a and b 
} 
main() 
{ 
    apple a,b; 
    foo(a,b); 
    //a and b are the same as befor calling foo ` 
} 

ありがとう。

+0

メソッド内でこのオブジェクトをどのように「変更する」のですか? – madth3

+6

問題を示す*実際の*コンパイル可能なコードを投稿してください。オブジェクトへの参照を渡す原則は正しいはずです。 –

+0

そしてポインタも同様に動作するはずです –

答えて

1

渡しているクラスのメソッドを変更することを意味しますか?それが意味するのであれば、 ' - >'を使う必要があります。

class apple { 
    public: 
     int weight; 
} 

void foo(apple *a,apple *b) { 
    a->weight = b->weight; 
} 

main() { 
    apple a,b; 
    foo(&a,&b); 
} 
+0

ありがとうございます。出来た。 – Pegah

関連する問題