共用方式為


工作分派

指派運算子 (=) 是,嚴格說來,二元運算子。 其宣告為與相同二元的運算子,除了下列例外:

  • 它必須是一個非靜態成員函式。 不**operator=**可以宣告為非成員函式。

  • 它不是由衍生類別繼承。

  • 預設的**operator=函式可以產生的類別型別,編譯器,如果不存在任何版本。 (如需有關預設operator=**函式,請參閱 Memberwise 的工作分派和初始化。)

下列範例會示範如何宣告指派運算子:

// 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;

請參閱

參考

運算子多載