C 中為什麼過載前置 運算子要加個

2021-03-11 00:08:13 字數 1946 閱讀 8594

1樓:

***plex& ***plex::operator++() // 返回一

copy

個引用即bai代表當前du物件本身zhi

***plex ***plex::operator++(int)

2樓:匿名使用者

1、因為過載bai自加運算子後可以du返回物件zhi的引用,dao以方便在表示式中連續使版用。

舉個例:權

cout《是經常用的,其實是過載了《這個操作符。如果不返回引用,cout<

就是這個意思吧。好多過載操作符,作用其實都是這樣的。

2、引用是c++引入的新語言特性,是c++常用的一個重要內容之一,正確、靈活地使用引用,可以使程式簡潔、高效。引用就是某一變數(目標)的一個別名,對引用的操作與對變數直接操作完全一樣。 引用的宣告方法:

型別識別符號 &引用名=目標變數名。

3樓:匿名使用者

這裡返回bai物件的引用du, 可以連續使用。

舉個zhi例子 cout《是我們經常dao用的吧其實是過載了

《這個專操作符。

如果不返屬回引用

cout<

如果返回自身的引用 cout<

就是這個意思吧。好多過載操作符,作用其實都是這樣的。

還有 "="的過載

返回引用的目的 顯然就是 方便寫成 a = b = c;

為什麼可以這樣 其實是a = (b = c);

b=c返回的是b的引用,然後再繼續 a = b ;如果不反回自身的引用,顯然就不行了!

4樓:匿名使用者

& 代表引用,形參是引用(非const型)時,就是將該物件自己傳遞進函式了返回值是&時用在運算子的返回值是左值時,常用有這幾個:所有的賦值(包括複合賦值),字首自加自減,下標運算子

請問c++中過載運算子函式時為什麼加那麼多&?

5樓:匿名使用者

& 代表引用,形參是引用(非const型)時,就是將該物件自己傳遞進函式了

返回值是&時用在運算子的返回值是左值時,常用有這幾個:

所有的賦值(包括複合賦值),字首自加自減,下標運算子

在c++中為何要進行運算子的過載啊/ 而且有什麼好處啊?請詳細的介紹一下謝謝

6樓:匿名使用者

具有相同的語意,減少函式名稱帶來的混淆.

7樓:匿名使用者

實現對自定義型別的運算!如果沒有運算子過載這個概念的話,自定義型別之間的運算就含有不確定性!有了這個技術的話,自定義型別之間的運算就可以自定義怎麼來運算!

c++中運算子過載++前置和後置,實現中有什麼不同啊,它們各有什麼內函?

8樓:匿名使用者

單目操作符++過載確實存在前置和後置的差別。這個原理與普通型別的運算元基本相同。如果執行操作符前置的運算,那麼呼叫該操作符的物件將返回自增操作的結果;如果執行操作符後置的運算,那麼呼叫該操作符的物件將返回操作前的狀態,並執行了自增操作。

下面舉類物件的例子說明一下。

class objtype;

// ++前置

objtype objtype::operator++()// ++後置

objtype objtype::operator++(int noused)

9樓:夏致萱查琦

++後置表示先運算表示式再自加,例如:a=5,b=a++;運算之後,a=6,b=5

++前置表示先自加表示式再運算,例如:a=5,b=a++;運算之後,a=6,b=6

c 運算子過載問題

1 注意 有字首和字尾之別,字首形式是變數先加1然後執行表示式,而字尾形式則是先執行表示式然後再使變數加1,所以在執行字尾的 運算子時應先反回物件的原始值,然後才對物件加1。2 預設的帶有一個引數的 運算子函式是字首 運算子,要過載字尾的 運算子必須採用另一種方式實現。過載字尾的 運算子時應給函式多...

c 中優先順序和運算子先看哪個,c 中的運算子優先順序順序是什麼?

因為 只是來在這條語句結束後才 1,假設 源a 0,則a a 等同於0 0,當然是錯的了,但是現在a的值變為1 補充一點,c 不提倡在同一語句當中多次修改同一個變數的值,樓主知道怎麼回事就行了,有些跟編譯器有關 我來正確的回copy答吧.1.和bai 優先順序是相du同的,那麼就看結合順序了。2.和...

C三目運算子的問題,C中三目運算子是什麼,怎麼用

函式的定義 修飾符 返回值型別 函式名稱 引數列表 c2059 並不是關鍵字,不能作為修飾符。c2059 int empty 判斷鏈bai佇列 du是否zhi為空 dao內 改為 容 int empty c 中三目運算子是什麼,怎麼用 三目運算子是?結構的運算 所謂三目就是需要三個變數進行運算的操作...