字元陣列:array[5]={'w','a','t','e','r'}; //結尾不須保留字串結束符'\0'
若要採各別輸入單個字元以設定陣列元素方式,以輸入字串,則需於字串結尾自行加入字串結束符'\0'
字元陣列:array[5]={'w','a','t','e','r'}; //結尾不須保留字串結束符'\0'
若要採各別輸入單個字元以設定陣列元素方式,以輸入字串,則需於字串結尾自行加入字串結束符'\0'
以成員函式為遞增(減)運算子多載函式,因遞增(減)的為class的資料成員,故遞增(減)運算子多載成員函式執行結束後,其內的資料成員的遞增(減)值將保留,並不會如一般函式內的變數值一般,僅在函式內有效,因此兩次結果將累加.
物件不是一個具體的值,故傳遞物件僅能以參照接收,而不能以值接收.???
或是物件傳遞以參照接收可以修改目的物件並返回以同時改變來源物件(雙向改變).??????????????????????????
針對預定義數據類型,c++提供了自增運算符++與自減運算符--,這兩個運算符都有兩種形式,前置與後置,但早期的c++雖能覆載這兩個運算符,但無法區分這兩種形式,在新的c++版本中,編譯器可以通過在運算子覆載函式的參數列中是否有int來區分為前置或後置.
使用前置運算符的語法格式++<物件>
1.對雙運算元而言,運算子多載成員函式帶有一個參數,而運算子多載友誼函式帶兩個參數,對單運算元而言,運算子多載成員函式不帶參數,而運算子多載友誼函式帶一個參數.
2.雙運算元一般可以覆載成員函式或友誼函式,如果運算子的兩個運算元
1.輸出入串流<<,>>運算子多載的運算元cout與cin為iostream類別的物件,而非自定義類別的物件,因此要以自定義類別中的成員函式作為運算子的多載函式,則無法以自定義類別的物件的取用方式呼叫(cout.member_function()與cout.member_function()為錯誤格式),因此採用友誼函式作為運算子覆載函式.
若為單運算元的運算子覆載,則成員運算符函式括弧內參數列為空白,若為雙運算元的運算子覆載,則成員運算符函式括弧內參數列則只有一個參數.
c++編譯器根據參數的個數和類型,來決定呼叫哪個覆載函式,因此可以為同一個運算符定義幾個覆載函式以進行不同的操作.