c 運算子過載怎麼理解,C 運算子過載是什麼意思

時間 2022-05-05 02:06:02

1樓:匿名使用者

複數類complex a;

complex b;

a+b實際呼叫的是 a 例項的方法operator+ 使用 b的引用作為引數)

a.operator+(b)

2樓:

運算子過載是通過建立運算子函式實現的,

運算子函式定義了過載的運算子將要進行的操作,所以運算子過載的實質就是函式過載。

唯一區別是運算子函式的函式名是由關鍵字

operator和其後要過載的運算子符號構成的。

過載之後的運算子不能改變運算子的優先順序和結合性,也不能改變運算子運算元的個數及語法結構。

3樓:匿名使用者

cc 就是形參名字 型別是const comlex&運算子過載你這麼理解吧

它也是乙個函式 有返回值 有引數

class temp

返回型別 operator 要過載的運算子(引數) 下面給你個例子對應這個定義式子

void operator + (const temp& t)

4樓:匿名使用者

結果 = 加數 + 加數

comlex是型別。

cc是個變數名

5樓:

comlex是某種型別吧,就是這種型別的相加。cc是這種型別的引用

6樓:匿名使用者

說起來比較麻煩,還是自己看起來領悟的快。給你個簡單的運算子過載的例子。過載了兩個 點的加減運算。

他使本來只可以在數值上用+,- 運算的可以被座標點運用。點x(1,1)+y(2,2)=z(3,3).例子如下,成功除錯。

#include

using namespace std;

class lyhdian

;lyhdian::lyhdian(double a,double b)

lyhdian lyhdian::operator +(lyhdian& a1)

lyhdian lyhdian::operator -(lyhdian& a1)

void lyhdian::show()

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

7樓:北大青鳥

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

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

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

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

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

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

8樓:匿名使用者

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

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

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

9樓:匿名使用者

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

c++中 運算子過載 到底有什麼何意義?

10樓:匿名使用者

運算子過載是一種特殊的函式過載。例如int a,b;則求a+b值時,在編譯過程中使用的是函式呼叫:opertor+(a,b).主要作用就是使程式更加簡潔,減少程式設計時間。

11樓:匿名使用者

運算子過載是一種特殊的函式過載。

c++的一大特性就是過載(overload),通過過載可以把功能相似的幾個函式合為乙個,使得程式更加簡潔、高效。在c++中不止函式可以過載,運算子也可以過載。

由於一般資料型別間的運算子沒有過載的必要,所以運算子過載主要是物件導向之間的。

在進行物件之間的運算時,程式會呼叫與運算子相對應的函式進行處理,所以運算子過載有兩種方式:成員函式和友元函式。

成員函式的形式比較簡單,就是在類裡面定義了乙個與操作符相關的函式。友元函式因為沒有this指標,所以形參會多乙個。

12樓:湛藍水晶

的確是一樣的,比如你過載了加號,其實是同樣可以定義add()函式來完成相同的操作。

過載是為了讓運算比較符合人的思維,比如定義乙個矩陣類matrixmatrix a, b ,c;

//...

//初始化a、b的語句

c = a+b; //如果沒有過載加號的話,這條就通不過編譯了只是這個+號你同樣可以定義乙個add函式來操作,如:

c = a.add(b);

你覺得哪種方法比較直觀?

13樓:匿名使用者

你想想如果兩個時間相加,你用+號行嗎?

你要是把+號過載一下,寫乙個你自己的+號運算方法不就可以了。

運算子過載就是自己定義符號

c++中運算子過載到底有什麼好處,可以舉例說明嗎?

14樓:匿名使用者

就我的理解

那些運算子本身功能是有限的

比如不能進行複數的加減

但是我們過載以後

就可以讓它實數與實數相加,虛數與虛數相加,最後結果也是複數還有字串string裡也有很多過載的地方,像兩個字串也可以相加,等等

過載的主要目的是,簡潔易懂,原理上其實也是通過函式實現的,像a + b用add(a,b) 也行,但是看起來要就沒那麼直觀了。

15樓:匿名使用者

舉例:class point

const point operate+(const point& p1, const point& p2)

void main()

明白了嗎?如果沒有操作符過載,你是不能做p = p1+p2;這個操作的。操作符過載使你可以自己定製操作符的運算方式

C 運算子過載詳細講解,C 運算子過載,有沒有人能更詳細的解說一下,我看了很久還是理解不了。最好舉例說一下,謝謝 祝新年快樂

任何乙個函式第乙個都是返回型別 這個返回型別是類引用。運算子過載的意義是給符號 賦予了乙個新的含義,不僅可以給普通變數賦值,還可以給類賦值 答 第乙個c不是函式名稱,也不是建構函式,而是類名。c 既是返回值型別,為返回乙個類c的物件。this表示被呼叫的成員函式所在的物件,this就是this所指向...

C語言的逗號運算子,C語言中逗號運算子怎麼用

是的,賦值運算的優先順序高於逗號運算子,所以先計算y x a b 再計算 b c 整個逗號表示式y x a b b c 的值為b c 然而並沒有卵用 沒有賦值 故 最後y x a b 你的理解是正確的。我估計是 程式漏了一對 小括號 y x a b b c 意思是把逗號 表示式的 值賦給y 這樣就有...

c 中運算子什麼意思,C 中 運算子什麼意思

這個編譯器可能有些預設的數值 會不會是 cout a b c n 就是a是不是大於 空格字元的,如果大於,則等於b,此時的b已經等於8,否則a等於空格,你可嘗試寫成cout a 我按照你的程式敲了,編譯沒通過。我是覺得你這個程式有問題,根本就沒有那種運算子。你的 有問題吧!這應該是c 中的三目運算子...

關於C 是過載運算子的疑問,關於C 是過載運算子的乙個疑問

簡單 include using namespace std class mynum 類定義 mynum mynum mynum mynum int num mynum mynum operator 後增量,先運算後使用 mynum mynum operator int 前增量,先使用,後運算 vo...

什麼是指標運算子,c語言 指標運算子和指標說明符有什麼區別

指標運算子是 c c 中的說法。在c c 中有兩個關於指標的運算子 運算子 取位址運算子,m即是變數m在記憶體中的實際位址。運算子 指標運算子 通常稱為間接引用運算子 indirection operator或復引用運算子 dereferencing operator 它返回其運算元 即乙個指標 所...