簡略懂得C++說話中的二元運算符和賦值運算符。本站提示廣大學習愛好者:(簡略懂得C++說話中的二元運算符和賦值運算符)文章只能為提供參考,不一定能成為您想要的結果。以下是簡略懂得C++說話中的二元運算符和賦值運算符正文
二元運算符
下表顯示可重載的運算符的列表。
可從新界說的二進制運算符
ret-type operatorop( arg )
個中,ret-type 是前往類型,op 是上表中列出的運算符之一,而 arg 是任何類型的參數。
若要將二元運算符函數聲明為全局函數,您必需用以下情勢聲明它:
ret-type operatorop( arg1, arg2 )
個中,ret-type 和 op 是成員運算符函數,而 arg1 和 arg2 是參數。至多有一個參數必需是類類型。
留意
對二元運算符的前往類型沒無限制;然則,年夜多半用戶界說的二元運算符將前往類類型或對類類型的援用。
賦值運算符
嚴厲地說,賦值運算符 (=) 是二元運算符。其聲明與任何其他二元運算符的雷同,但有以下破例:
它必需長短靜態成員函數。沒有 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;