簡(jiǎn)單了解C++語(yǔ)言中的二元運(yùn)算符和賦值運(yùn)算符
二元運(yùn)算符
下表顯示可重載的運(yùn)算符的列表。
可重新定義的二進(jìn)制運(yùn)算符
| 運(yùn)算符 | |
|---|---|
| , | 逗號(hào) |
| != | 不相等 |
| % | 取模 |
| %= | 取模/賦值 |
| & | 按位“與” |
| && | 邏輯“與” |
| &= | 按位“與”/賦值 |
| * | 乘法 |
| *= | 乘法/賦值 |
| + | 添加 |
| += | 加法/賦值 |
| – | 減法 |
| –= | 減法/賦值 |
| < | 小于 |
| << | 左移 |
| <<= | 左移/賦值 |
| <= | 小于或等于 |
| = | 賦值 |
| == | 相等 |
| > | 大于 |
| >= | 大于或等于 |
| >> | 右移 |
| >>= | 右移/賦值 |
| ^ | 異或 |
| ^= | 異或/賦值 |
| | | 按位“與或” |
| |= | 按位“與或”/賦值 |
| || | 邏輯“或” |
若要將二元運(yùn)算符函數(shù)聲明為非靜態(tài)成員,您必須用以下形式聲明它:
ret-type operatorop( arg )
其中,ret-type 是返回類型,op 是上表中列出的運(yùn)算符之一,而 arg 是任何類型的參數(shù)。
若要將二元運(yùn)算符函數(shù)聲明為全局函數(shù),您必須用以下形式聲明它:
ret-type operatorop( arg1, arg2 )
其中,ret-type 和 op 是成員運(yùn)算符函數(shù),而 arg1 和 arg2 是參數(shù)。至少有一個(gè)參數(shù)必須是類類型。
注意
對(duì)二元運(yùn)算符的返回類型沒(méi)有限制;但是,大多數(shù)用戶定義的二元運(yùn)算符將返回類類型或?qū)︻愵愋偷囊谩?/p>
賦值運(yùn)算符
嚴(yán)格地說(shuō),賦值運(yùn)算符 (=) 是二元運(yùn)算符。其聲明與任何其他二元運(yùn)算符的相同,但有以下例外:
它必須是非靜態(tài)成員函數(shù)。沒(méi)有 operator= 可聲明為非成員函數(shù)。
它不由派生類繼承。
默認(rèn) operator= 函數(shù)可由類類型的編譯器生成(如果該函數(shù)不存在)。(有關(guān)默認(rèn) operator= 函數(shù)的詳細(xì)信息,請(qǐng)參閱成員賦值和初始化。)
以下示例闡釋如何聲明賦值運(yùn)算符:
// 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()
{
}
請(qǐng)注意,所提供的參數(shù)是表達(dá)式的右側(cè)。此運(yùn)算符返回對(duì)象以保留賦值運(yùn)算符的行為,賦值運(yùn)算符在賦值完成后返回左側(cè)的值。這使您可以編寫類似于下面的語(yǔ)句:
pt1 = pt2 = pt3;
相關(guān)文章
C語(yǔ)言return, exit, abort的區(qū)別
這篇文章主要介紹了C語(yǔ)言return, exit, abort的區(qū)別,一般情況下,在C語(yǔ)言中退出一個(gè)程序用return,如果在main函數(shù)中,return在清理局部對(duì)象之后,會(huì)調(diào)用exit函數(shù),和return相比,exit并不會(huì)銷毀局部對(duì)象,下面一起進(jìn)入文章了解更詳細(xì)內(nèi)容吧,需要的朋友也可以參考一下2022-01-01
C++ throw關(guān)鍵字實(shí)現(xiàn)拋出異常和異常規(guī)范
本文主要介紹了C++ throw關(guān)鍵字實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解
這篇文章主要介紹了C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解,基本數(shù)據(jù)類型有int、long、long long、float、double、char、string,正文有詳細(xì)介紹,歡迎參考2018-01-01
C++實(shí)現(xiàn)LeetCode(241.添加括號(hào)的不同方式)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(241.添加括號(hào)的不同方式),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C++中的while循環(huán)和for循環(huán)語(yǔ)句學(xué)習(xí)教程
這篇文章主要介紹了C++中的while循環(huán)和for循環(huán)語(yǔ)句學(xué)習(xí)教程,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09
C語(yǔ)言 函數(shù)指針(指向函數(shù)的指針)詳解
本文主要介紹 C語(yǔ)言函數(shù)指針的知識(shí),這里整理了詳細(xì)的資料及示例代碼以便大家學(xué)習(xí)參考,有需要學(xué)習(xí)此部分知識(shí)的朋友可以參考下2016-08-08
C++圖形界面開發(fā)Qt教程:嵌套圓環(huán)示例
這篇文章主要介紹了C++實(shí)現(xiàn)圖形界面開發(fā)Qt教程,涉及坐標(biāo)函數(shù)的應(yīng)用及圖形界面程序設(shè)計(jì),需要的朋友可以參考下,希望能給你帶來(lái)幫助2021-08-08
C語(yǔ)言實(shí)現(xiàn)帶頭雙向循環(huán)鏈表
本文主要介紹了C語(yǔ)言實(shí)現(xiàn)帶頭雙向循環(huán)鏈表,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

