共用方式為


指派

嚴格來說,指派運算子 (=) 是二元運算子。 它的宣告與任何其他二元運算子相同,但有下列例外狀況:

  • 它必須為非靜態成員函式。 不可將 operator= 宣告為非成員函式。

  • 衍生類別不會進行繼承。

  • 如果函式不存在,編譯器可以產生類別類型的預設 operator= 函式 (如需預設 operator= 函式的詳細資訊,請參閱成員指派和初始化)。

下列範例說明如何宣告指派運算子:

// assignment.cpp
class Point
{
public:
   Point &operator=( Point & );  // Right side is the argument.
   int _x, _y;
};

// Define assignment operator.
Point &Point::operator=( Point &ptRHS )
{
   _x = ptRHS._x;
   _y = ptRHS._y;

   return *this;  // Assignment operator returns left side.
}

int main()
{
}

請注意,所提供的引數是在運算式的右方。 運算子會傳回物件以保留指派運算子的行為,而該運算子會在指派完成後傳回左方的值。 如此會允許執行下列寫入陳述式:

pt1 = pt2 = pt3;

請參閱

參考

運算子多載