關於C 的幾個問題

2022-06-25 05:55:05 字數 908 閱讀 2449

1樓:匿名使用者

運算子過載規則其實很簡單,就是只進行有意義的過載,不要濫用過載,比如 矩陣類 matrix ,兩個矩陣相加就很有必要啦,這時最好過載 + 運算子

class matrix

};matrix a, b;

matrix c = a + b; //矩陣相加

而假設有乙個土壤類 earth,就沒有必要過載 + 啦,因為 兩個土壤物件 相加沒有任何意義。

至於第二個問題只能這樣說,有的運算子過載時只能作為成員函式,比如 、() 運算子,

他們的形參個數也是很不一樣的,對於 () 運算子,過載時其形參個數不限, 由寫**的人自己確定,可以有1個、2個甚至多於3個,c++沒有限制 (不過 一般不超過兩個,方便呼叫)。

有些執行符引數個數是嚴格限制的。

比如 字首自增運算子 ++ ,過載作為成員函式時,不能有引數,有引數反倒改變其意義啦,比如

class c

c operator++(int)//字尾自增運算子,意義與前面完全不同。

}c c;

++c; //字首自增運算子

c++;//字尾自增運算子

而作為 友元函式 時,其形參數量為 1

class a

;a& operator++(a& a)

對於那些既能作為成員函式也可以作為友元函式來的過載運算子函式來說,友元函式的形參數量比成員函式的形參多乙個。

還有,你的問題提太多啦,我懶得敲啦。

順帶一提,考慮到對稱性原則,雙目運算子過載時一般是友元函式方法,

而單目運算子習慣上是成員函式方法。

至於轉換,說白了建構函式轉換是 初始化意義,而型別轉換是一種優先順序比標準轉換還低的自定義轉換。

2樓:可愛皮夾

好多,建議去買本關於c++的書!

關於自考的幾個問題,求解,關於自考的幾個問題

自考一專業的全部課程一般要花幾年的時間才能全部學完至考試過關拿到畢業證?最快一年半 2.自考院校是由不是自己可以隨便選,還是由自考辦指定,還是其它?不是.首先要學校裡面要有你要考的專業 在自考辦報名的時候會詳細的告訴你的 3.如果一科沒考通過,最多能考幾次?無限次4.一年考的四次是怎麼分的?一年之內...

關於電腦的幾個問題,關於電腦的幾個問題,急!!!!!!

不建議你強行關機的,強行關機可能會造成硬碟的損壞或系統檔案的丟失,一般對硬體的損壞較大的,還有風扇聲音的問題,只要是風扇運轉正常,聲音稍大沒事的,只要散熱好就行的 請問這樣傷害大嗎?相對平常操作來說還是影響比較大,特別是對硬碟,但一次兩次沒有關係。是正確的嗎?是正確的。電腦無法識別詳細的型號,只能識...

關於宇宙的幾個問題,宇宙的幾個問題

是什麼創造了宇宙?一般認為,宇宙產生於150億年前一次大 中。大 後30億年,最初的物質漣漪出現。大 後20億 30億年,類星體逐漸形成。大 後100億年,太陽誕生。38億年前地球上的生命開始逐漸演化。為什麼會有宇宙?宇宙是如何起源的?空間和時間的本質是什麼?這是從2000多年前的古代哲學家到現代天...