C 類及其相關

2021-05-26 17:10:57 字數 1133 閱讀 5824

類是一種引用型別,在了解了類的一些基礎知識以後,對一些容易忽略的內容進行總結。

1、呼叫基類構造器

作為乙個良好的程式設計習慣,派生類的構造器在執行初始化時,最好呼叫一下它的基類的構造器。為派生類定義構造器時,可以使用base關鍵字來指定呼叫乙個基類的構造器。下例:

class mammal

}class horse:mammal

}

假如不在派生類構造器中顯式呼叫乙個基類構造器,編譯器會自動插入對基類的預設構造器的乙個呼叫,然後才會執行派生類構造器中的**。

2、宣告new方法

方法簽名由方法名、引數數量、引數型別共同決定,但是方法的返回型別不計入簽名。即兩個同名方法如果獲得相同的引數列表,就說他們有相同的簽名,不管其返回型別是否相同。

子類和基類如果有兩個方法同名且具有相同的簽名,在子類函式最前面加乙個new可以遮蔽基類中具有相同簽名的方法。

3、宣告virtual方法

有的時候,確實希望隱藏方法在乙個基類中的實現方法。可以在父類中使用virtual關鍵字,相應地,在子類可以用override關鍵字對該方法重寫。從而對父類方法進行遮蔽。有以下規則要遵守:

1)不允許virtual或者override方法宣告為private

2)兩個方法簽名和返回值型別必須完全一樣,且具有相同的可訪問性,public或者protected

3)只能override virtual方法,也就是這是配套的關鍵字

4)假如不用override關鍵字,就不會重寫基類方法

5)乙個override方法將隱式地成為virtual方法,未來可能在乙個派生類中被override

4、擴充套件方法

擴充套件方法(extension method)允許通過附加的靜態方法來擴充套件現有的型別(無論類還是結構),擴充套件方法是在乙個靜態類中定義的,要擴充套件的型別必須是方法的第乙個引數,而且必須附加乙個this關鍵字。下例展示了如何為int型別實現乙個名為negate的擴充套件方法: 

static class util

}

VC dll相關及其C 互動

方法步驟 1.新建工程 2.編寫內部 該部分過程與建立一般的exe檔案大同小異,在此不再贅述。3.編寫關鍵 在關鍵的標頭檔案中新增dll庫匯出介面 其中匯出類的宣告之前要加註巨集定義afx ext class 匯出函式則在生命之前新增extern c declspec dllexport 的字樣。4...

c 鍊錶及其相關操作

僅供自己學習參考 鍊錶,線性表的鏈式儲存結構。前提 typedef struct lnode lnode,linklist 單鏈表的建立及其相關操作 void creatlist linklist l,int n 頭插法 建立鍊錶6 5 4 3 2 1,有頭結點 void creatlist2 li...

C 標準庫及其相關函式

standard template library stl 標準版模板庫stl包含常用演算法和資料結構的通用庫 stl的核心內容是3個基本元件 容器 演算法 迭代器 容器 向量vector 線性表list 佇列queue 對映map 集合set 字串string 常用演算法 排序 sort 查詢 f...