2011-04-20 42 views
0

我是Qt的一個大人物,並提到隱式和顯式共享的一些教程,並且我在後面的文章中遇到過。需要一些關於Qt :: operator的解釋

http://cdumez.blogspot.com/2011/03/implicit-explicit-data-sharing-with-qt.html

代碼段

我無法瞭解以下操作

Contact& Contact::operator=(const Contact& other) { 
    d = other.d; 
    return *this; 
} 

的功能,如果有一個人能解釋這究竟這樣做,爲什麼它會出現在代碼這將是一個很大的幫助。

謝謝你們。

〜Tharanga

回答

1

該運算符是assignment operator。當你寫它用於:

Contact c1; 
Contact c2; 
c2 = c1; 

在你的情況賦值運算符僅複製接觸的d構件,從而c2.d將是相同的c1.d

+0

其實,在您的示例中,複製構造函數將被調用。 – Job 2011-04-20 07:46:40

+0

你是對的我會更新 – 2011-04-20 07:49:54

+0

讓我試着去理解這一點。聯繫人是顯式共享的,其他屬性(如果有其他公共變量),但共享指針d是隱式共享的。我真的很感謝答覆..再次感謝 – Tharanga 2011-04-20 10:20:43