過載自增和自減操作符

2021-06-23 03:08:39 字數 541 閱讀 3763

對於「++」 和「--」這兩個一元運算子,存在前置和後置的問題,在定義時必須有所區分。

(1) 用成員函式的形式來進行過載

如果++為前增量運算子時,過載函式的一般格式為:

< type > classname :: operator ++ ( )

如果++為後增量運算子時,過載函式的一般格式為:

< type > classname :: operator ++ ( int )

(2) 非成員函式形式的過載

以++ 為例說明

用友元函式來實現「++」運算子的過載時,前置++運算子的過載的一般格式:

friend operator ++ (classname & );

其中,第乙個引數是要實現++運算的物件。

後置++運算子的過載的一般格式:

friend operator ++(classname &,int);

其中,第乙個引數是要實現++運算的物件;而第二個引數除了用於區分是後置運算外,並沒有其他意義,故起引數可有可無

自增 和自減 操作符

自增操作符和自減操作符經常要在我們自定義的類型別中使用到,而使用時經常會出現問題。現把自己在學習的過程中的 拿出來看一下,也是c primer中的例子如下 ifndef check ptr define check ptr include using namespace std class chec...

自增和自減操作符

毫無疑問,自增 和自減 操作符為物件加1或減1操作提供了方便簡短的實現方式。程式設計中的宗旨 簡潔即美 它們有前置和後置兩種使用形式 int i 0,j j i j 1,i 1 prefix yields incremented value j i j 1,i 2 postfix yields un...

關於自增自減操作符

c c 中自增自減運算子相信是不少人的乙個困擾,這個問題也一直困擾著我,今天再次翻開書本來看了看,有了些新的體會,所以在這裡記錄下來,同時也與那些像我一樣被困擾的人分享,程式設計大牛可以繞道了,或者有什麼不對的地方請大牛們指正。以 為例,如下程式輸出結果是什麼 int a 0,j 1 a j cou...