C中什麼時候選擇用重寫和過載?為什麼用?有什麼區別

時間 2022-03-17 02:32:41

1樓:曷凡

過載表示改寫該函式,比如過載+號運算子,讓他具有乘法的功能,2+3=6

但是過載之後,他的運算優先順序還是不會改變的,5-2+3=9而重寫表示完全改變這個函式,如果重寫+號運算子,讓他具有乘法的功能,2+3=6

同時,他的優先順序你可以讓他改變為最高,這樣的話5-2+3=-1:)

2樓:匿名使用者

再拿動物界作例子。

父類animal ,有個方法叫virtual void run()子類cat繼承animal

重寫了run,override void run()子類dog繼承了animal同樣不用重寫,因為dog就表現為跑起來,不用重寫。

dog類裡面有個方法叫private void eat();

然後再寫個過載方法叫private void eat(object obj)","我只吃'"+object+"' ");}

3樓:匿名使用者

重寫是發生在父類與子類之間的關係。具體來講就是子類可以重寫父類的現有的方法。它要求子類的方法名稱及引數必須與父類完全一致。

比如吃飯,父親可以吃兩碗面,孩子同樣也是吃麵,卻只能吃一碗。

過載則主要是發生在同乙個類當中的,它通過多個名稱相同的方法,但方法引數不相同,或者方法返回型別不相同來加以區別。其中,方法引數不相同包括以下幾種情況:引數的個數不相同,引數的型別不相同,引數的對應位置不相同。

需要說明的是,過載同樣可以應用到父類與子類當中。即子類過載了父類的方法。

c# 過載 與重寫的區別

4樓:

重寫overriding是父類與子類之間多型性的一種表現,過載overloading是乙個類中多型性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和引數,我們說該方法被重寫 (overriding)。子類的物件使用這個方法時,將呼叫子類中的定義,對它而言,父類中的定義如同被"遮蔽"了。

如果在乙個類中定義了多個同名的方法,它們或有不同的引數個數或有不同的引數型別,則稱為方法的過載(overloading)。overloaded的方法是可以改變返回值的型別。

5樓:匿名使用者

重寫就是用override覆蓋原來的方法,過載實現簽名不同的方法(可以理解為方法的多樣性)。

6樓:水純的

過載是方法 名相同,返回值型別不同,或引數不同,

重寫關鍵字是override,這個是摒棄前者,而過載是保留了前者

c#中override與過載的區別?面試的時候怎麼說比較好?

7樓:桓笑容

override叫覆蓋

過載是相同的方法名,但是返回型別或者引數個數或型別不同,叫做過載

override覆蓋的是父類的方法,例如父類有乙個tostring()方法,當我們覺得它不能滿足需求,我們會在自己的方法裡面重寫這個方法,但是別人在通過多型呼叫父類的時候我又希望它能按照我子類的tostring()方法去執行的,這個時候就用override標示一下,這樣無論是多型的呼叫還是直接呼叫,呼叫的都是我自己的tostring方法

8樓:

override 是重寫 overload 是過載簡單來說區別就是 前者可以對父類的方法進行重寫後者是多個方法名相同 但是引數型別或者引數個數不同的方法,例如:

public void a(int i)

public void a(string a)public string a(int i)這種的叫過載,在你呼叫方法的時候會自動根據你的引數型別和個數找到匹配的方法然後執行

9樓:第六街巷網

這個在網上查查會比較好

在j**a中,方法重寫和方法過載有什麼區別?

10樓:湛靜槐褒婉

方法過載是說:類中多個構造方法同名不同參;乙個類中的幾個構造方法之間自動呼叫;引數不同呼叫的也不同,方法重寫時說:子類可繼承父類中的方法,但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。

方法重寫又稱方法覆蓋。

oracle什麼時候選擇hash join演算法

舉乙個簡單的例子來說明sql server 中hash join的演算法。例如有兩張表,每張表都有10000行的記錄,假設做join的兩個欄位都是從1到10000的序數。如果要做hashjoin,那麼首先對其中的乙個表上的列進行hash運算,將生成相同值的列放在乙個桶裡。為了簡單起見,假定這裡的ha...

對於愛情什麼時候選擇放手

在對方找到比自己更幸福的時候是該放手.現在的人對於愛情都沒有太大的信心.更可恥的是,他們利用愛情達到自己的目的 在這種時候是必然要放手的.在有就是當你愛乙個人的時候,而那個人卻愛著另乙個人又要對你負責任的時候,為了你愛的人,你也要選擇放手.要不就是當你和乙個相愛,突然知道自己得了很花錢的病而且自己的...

大學時什麼時候選擇FRM最合適,大二學FRM可以嗎?大學生考試FRM是好的選擇嗎

近期有考生諮詢,剛進入大學就報名frm考試是否可行呢?大學期間什麼時候報名frm好呢?一 大一能否報名frm考試?關於frm報名條件,garp官方介紹 there are no educational or professional prerequisites needed to register....

C智慧型指標在什麼時候使用,C 中什麼時候用指標,什麼時候用引用

只想建立指標,不想 指標的時候,可以用智慧型指標來做。所屬標頭檔案 include 所屬命名空間及識別符號 using std shared ptr 所屬版本 c 98 g 啟用版本命令 g std c 98 c o 補充 如果啟用c 11及以上標準,即g std c 11 c o,編譯時會有乙個警...

在重灌系統時候,選擇一鍵安裝到C盤,結果卻沒有執行安裝,而是直接進入了雨林木風DOS工具箱

首先更正二樓的的 nest格式 是錯的,是ntfs。至於怎麼看,在碟符上右鍵 屬性及看到了,但是現在很明顯你看不了!第二,樓主既然直接進了dos,說明那個盤做的有問題,你可以就用dos裝啊。進了dos後在裡面選擇 ghost32 後面可能還有其他的字,反正選擇這個樣子的 local partitio...