2011-04-20 500 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