2016-04-23 12 views
-3

私はオブジェクトを別のオブジェクトに割り当てると、両方とも同じアドレスがあることを知っています。しかし、私はそれを視覚化したいと思いましたが、 2つのオブジェクトT1、T2は、それらのオブジェクトであり、私はT2のT1を割り当て、コンセプトT1に応じたとt2のアドレスが同じである必要がありますが、それはあなたが間違っている「知っている」とは何異なっ/オブジェクトを別のオブジェクトに割り当てるときにオブジェクトのアドレスについての問い合わせ

#include <bits/stdc++.h> 

using namespace std; 
class Test 
{ public: 
int a=1,b=2,c=2; 
}; 


int main() 
{ 
Test t1; 
Test t2=t1; 
cout<<(&t2)<<endl<<(&t1)<<endl; 
cout<<t2.a<<" "<<t1.a<<endl; 
t1.a=10; 
    cout<<t2.a<<" "<<t1.a<<endl; 

} 
+3

この「私たちは」あなたが参照しているのは誰 –

+2

...完全なナンセンスに続く「我々はことを知っていますか」?それはいくつかの奇妙な信念を持つグループのようです。 – juanchopanza

+1

あなたはポインタとオブジェクトについてちょっと混乱しているようです。 – Thomas

答えて

3

を印刷しているのですがありました。オブジェクトはメモリ内の記憶領域です。したがって、2つの異なるオブジェクトは、定義上、異なるアドレスを持たなければなりません。 t1t2は異なるオブジェクトです。この初期化を使用して:

Test t2 = t1; 

t2は新しいオブジェクトです。初期値(この場合メンバーa、b、c)はt1からコピーされますが、アドレスが異なる完全に別個のオブジェクトです。一方を変更しても他方には影響しません。

t2.a = 77;  // no effect on t1.a 
+0

私はコンセプトと感謝を持っています –

関連する問題