c 操作符過載問題,C 運算子過載是什麼意思

2021-03-11 05:49:01 字數 1798 閱讀 5571

1樓:匿名使用者

p13 = p11*12不能過得原因是 operator*返回的是臨時變數,而你opertor=操作需要的是引用變數。會讓編譯器找不到需要的operator=操作。建議在operator=引數上加上const。

或者讓operator*操作返回引用即可。

2樓:匿名使用者

這個錯誤的意思是:

在乙個加了const限定符的成員函式中,不能夠呼叫非const成員函式。版

你的操作符

權重載operator*中,要將過載函式定義為const,即

如果滿意,歡迎採納,謝謝

如有疑問,歡迎追問。

3樓:手機使用者

你可以試著將

「baifriend tmatoperator * (tmata, tmatb);「

改為:friend tmatoperator * (const tmat& a, const tmat& b);

記得在函式聲du

明和實現的地方都這zhi樣改,應該dao就可以了。專vc6的檢屬查是相當寬鬆的。

是否可以解決您的問題?

c++運算子過載是什麼意思

4樓:北大青鳥

所謂過載,就是重新賦予新的含義。函式過載就是對乙個已有的函式賦予新的含義,使之實現新功能,因此,乙個函式名就可以用來代表不同功能的函式,也就是」一名多用」。

運算子也可以過載。實際上,我們已經在不知不覺之中使用了運算子過載。例如,大 家都 已習慣於用加法運算子」+」對整數、單精度數和雙精度數進行加法運算,如5+8, 5.

8 +3.67等,其實計算機對整數、單精度數和雙精度數的加法操作過程是很不相同的, 但由於c++已經對運算子」+」進行了過載,所以就能適用於int, float, double型別的運算。

又如」<<「是c++的位運算中的位移運算子(左移),但在輸出操作中又是與流對 象cout 配合使用的流插入運算子,」>>「也是位移運算子(右移),但在輸入操作中又是與流物件 cin 配合使用的流提取運算子。這就是運算子過載(operator overloading)。c++系統對」<<「和」>>「進行了過載,使用者在不同的場合下使用它們時,作用是不同 的。

對」<<「和」>>「的過載處理是放在標頭檔案stream中的。因此,如果要在程式中用」<<「和」>>」作流插入運算子和流提取運算子,必須在本檔案模組中包含標頭檔案stream(當然還應當包括」using namespace std「)。

在c++中不能在程式中直接用運算子」+」對複數進行相加運算。使用者必須自己設法實現複數相加。例如使用者可以通過定義乙個專門的函式來實現複數相加。

5樓:匿名使用者

比如+運算在正常情況下只能對基本型別(int 、float等)進行加法

過載之後就可以對複數a+bi進行加法(過載函式要針對複數去寫) 如:(a+bi)+(c+di)=(a+b)+(c+d)i

過載完之後+就可以完成上面功能

6樓:匿名使用者

先去了解什麼是函式過載吧。大概意思就是兩個同名的函式,利用形參的不同來作區分。

c++過載運算子<<後出錯

7樓:匿名使用者

ostream & operator<<名字改了*/

out<

在最前面加上using namespace std;

C 中是什麼操作符,C 中 運算子

這個操作符是兩個操作符組成的,乙個是點 乙個是星 這兩個操作符在 回c 中都有自己的作用,答主要用處為 1 是成員呼叫。2 為取位址處的值.在一起連續使用的情況有很多,例如 class ob ob temp 兩個操作符連在一起被稱為乙個操作符的情況只有一種,就是在成員函式指標的呼叫上。這個操作cop...

C 中的自增加運算子,C 運算子過載之自增 自減 運算子

簡單的說 運算子就是變數的內容加1個單位,但究竟1個單位是多少要看實際版定義的變權量的型別 比如 定義int a 0 那麼a 表示在下次使用a時a中存放的變數會變為1,即a 0 1 如果定位為int a b 這裡我們假設b已經經過了定義,為int b 10 此時a中存放的內容為b 0 的位址,我們假...

C中不能被過載的運算子中是什麼運算子高手們幫忙解決

是c 的類成員函式指標呼叫運算子,是用來呼叫乙個類函式指標的。舉例 假設有乙個專classa類擁有乙個成員函式void classa func int i 則可屬以這麼用 void classa fp int i 定義乙個類函式指標。classa obj fp classa func 給這個類函式指...