分配運算子
賦值運算子是指將資料替換為已存在(先前初始化的)物件和其他物件的資料。讓我們以此為例:
// Assignment Operator
#include <iostream>
#include <string>
using std::cout;
using std::endl;
class Foo
{
public:
Foo(int data)
{
this->data = data;
}
~Foo(){};
Foo& operator=(const Foo& rhs)
{
data = rhs.data;
return *this;
}
int data;
};
int main()
{
Foo foo(2); //Foo(int data) called
Foo foo2(42);
foo = foo2; // Assignment Operator Called
cout << foo.data << endl; //Prints 42
}
我可以在這裡看到我在初始化 foo
物件時呼叫賦值運算子。然後我將 foo2
分配給 foo
。呼叫該等號運算子時出現的所有更改都在 operator=
函式中定義。你可以在這裡看到一個可執行的輸出: http : //cpp.sh/3qtbm