C 函式覆蓋

2021-08-24 21:15:20 字數 1097 閱讀 7877

覆蓋類成員:通過new關鍵字修飾虛函式表示覆蓋該虛函式。

乙個虛函式被覆蓋後,任何父類變數都不能訪問該虛函式的具體實現。

public virtual void introducemyself()//父類虛函式

public new void introducemyself()//子類覆蓋父類虛函式

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace methodoverridebynew

public

class

person 

/// 

/// 定義虛函式introducemyself()

/// 

public

virtual 

void

introducemyself() 

/// 

/// 定義虛函式printname()

/// 

public

virtual 

void

printname() 

}public

class

chineseperson :person

/// 

/// 覆蓋父類方法introducemyself,使用new關鍵字修飾虛函式

/// 

public

newvoid

introducemyself() 

/// 

/// 過載父類方法printname,使用override關鍵字修飾虛函式

/// 

public

override 

void

printname()

}class

program}}

結果:person.introducemyself()

chineseperson.introducemyself()

chineseperson.printname()

chineseperson.printname()

C 函式覆蓋和隱藏

原則 成員函式被過載的特徵 相同的範圍 在同乙個類中 函式名字相同 引數不同 覆蓋是指派生類函式覆蓋基類函式,特徵是 不同的範圍 分別位於派生類與基類 函式名字相同 引數相同 基類函式必須有virtual關鍵字。隱藏分兩種情況 一種是,派生類的函式與基類的函式同名,但是引數不同。此時,不論有無vir...

C 函式覆蓋和隱藏

一 覆蓋 1.定義 覆蓋是基類和派生類中的,基類函式是虛函式,派生類中重寫此函式,函式名引數都想同,這就會發生覆蓋 為什麼叫覆蓋?因為派生類繼承基類的時候實際上是先拷貝了基類的所有非private的成員,當基類的函式是虛函式的時候,如果重寫此函式,函式名和引數完全相同,此時派生類中的函式會將派生的基...

C 函式 過載 覆蓋 隱藏

在c 的類中函式定義的時候會有 過載,覆蓋 也成為重寫 隱藏 也成為重定義 三種情況下面說說他們的區別,以及一些注意事項 學習c 中的類,主要有兩種,一種是用struct 關鍵字 定義的,預設情況下類中的成員是public屬性,而另一種使用class 關鍵字 定義的預設是private屬性的。子類在...