c 多型和c 中不一樣的地方

2021-07-10 19:34:27 字數 734 閱讀 3846

首先看**

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

public virtual void printfield()

}public class client:mybase

public override void printfield()

, j=",i,j);}}

class program

}}

看到這個**不知道大家能不能得出最後的答案是什麼?

當我剛開始學習的時候我的答案為: 

base is called
x=0,y=-1;
其實正確的答案為:

x=0,y=0;

x=0,y=-1;

解惑:剛開始得出這個結果的時候,好使讓我費解了。為什麼?c++會是這樣麼。不是的。c++的答案是第乙個。因為c++在類中只能宣告。

搞了好久,採取請教下大神。原來在實現重寫的時候,c#的底層會把基類的虛函式從虛擬指標表中重寫掉。所以在呼叫基類的預設建構函式(例項化繼承類時)呼叫的

printfield() 函式實際上是繼承類中的printfield()

不一樣的多型

多型 polymorphism 一詞源於生物學,顧名思義就是指多種形態。在物件導向世界裡,多型與繼承和封裝一起構成了三大核心概念。在.net中,多型通常意味著子類對於父類一種衍變。子類繼承自父類,擁有父類所定義的一切 public或protected 成員。但同時,它又可以修改 重寫或複寫 這些成員...

不一樣又不一樣的 木板接水

空地上豎立著n個從左到右排列的木板,它們可以把水擋住,但溢位最邊上木板的水將會流到空地上。已知木板間距都是單位1,現給定每個木板的高度,請求出總共能接住的水量?說明一點,這裡只考慮間距 寬度 和高度,不考慮第三個維度,因此水量是平方單位。木板高度分別是2,1,3,那麼我們可以接住2 2 4平方單位的...

(C語言)不一樣的A B

參加過上個月月賽的同學一定還記得其中的乙個最簡單的題目,就是 那個題目求的是兩個集合的並集,今天我們這個a b求的是兩個集合的差,就是做集合的減法運算。當然,大家都知道集合的定義,就是同乙個集合中不會有兩個相同的元素,這裡還是提醒大家一下 只需要完成cn函式,呵呵,很簡單吧?輸入格式 每組輸入資料佔...