卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

c語言符號大全表解釋 為什么賦值運算符只能作為成員函數(shù)進行重載,而不能作為友元函數(shù)重載?

為什么賦值運算符只能作為成員函數(shù)進行重載,而不能作為友元函數(shù)重載?我很久沒寫C了。我給你這個主意。它可以用作左值,因此需要返回*這個表單來返回引用friend函數(shù)。沒有這個指針,對嗎?賦值運算符返回所

為什么賦值運算符只能作為成員函數(shù)進行重載,而不能作為友元函數(shù)重載?

我很久沒寫C了。我給你這個主意。它可以用作左值,因此需要返回*這個表單來返回引用friend函數(shù)。沒有這個指針,對嗎?賦值運算符返回所需的引用類型。這是鑰匙

!因此,RT

1。因為它是運算符重載,所以它必須訪問類的私有成員變量。根據(jù)類的封裝要求,除了friend函數(shù)外,其他任何外部操作都是非法的,因此普通函數(shù)不能用來重載操作符。

2. 如果賦值運算符的重載函數(shù)沒有顯式定義,編譯器將自動生成它。即使類成員變量包含指針,指針值也會被復制。因此,往往造成多個實例共享一個存儲空間的尷尬局面。分解第一個定義的類時,剩余的實例仍然指向釋放的存儲空間,指針的值將從類中刪除,但是成員變量的值已被破壞,實例仍然存在不可接受的現(xiàn)實。

3. 賦值函數(shù)是構造函數(shù)的重載,而不是普通成員函數(shù),不能由對象調(diào)用。函數(shù)只需要一個相同類型的參數(shù),以常量和引用的形式出現(xiàn)。友元函數(shù)的參數(shù)與重載運算符的個數(shù)一致,如,-、*、/等都需要兩個參數(shù)。這些概念類似于數(shù)學概念。賦值運算符=不是數(shù)學概念中的運算符。因此,運算符重載的友元函數(shù)的參數(shù)不小于2(這些運算符是數(shù)學概念中的運算符)。

為什么C 賦值運算符重載函數(shù)不能被繼承?

在賦值運算符中,有一種C/C唯一復合賦值運算符。它們實際上是一種縮寫形式,使變量的變化更加簡潔。Total=Total 3,這意味著將其值加上3,然后將其分配給自身。為了簡化,上面的代碼也可以寫成:total=3。同樣地,X*=y7相當于X=X*(y7)R%=P相當于R=R%P。復合賦值運算符有以下幾種:符號函數(shù)=加法賦值-=減法賦值*=乘法賦值/=除法賦值%=模運算賦值>=右移賦值&=位邏輯和賦值|=位邏輯或賦值^=位邏輯異或賦值。如果你看上面的復合賦值運算符,有人會問,total=3和total=3之間有什么區(qū)別嗎?答案是肯定的。對于a=a1,表達式a求值兩次。對于復合運算符a=1,表達式a只計算一次。一般來說,這種差異對程序的操作幾乎沒有影響,但是當表達式用作函數(shù)的返回值時,函數(shù)會被調(diào)用兩次(稍后解釋)。此外,如果使用普通的賦值運算符,程序的開銷會增加,效率也會降低。