修改基類訪問許可權

2021-05-24 23:22:28 字數 574 閱讀 4260

問題:我們經常擴充套件別人寫好乙個類的功能,為了防止別人錯誤地使用我們擴充套件的功能,我們需要遮蔽直接呼叫原基類的功能。例如:

class

base

void

add(base* pbase){}

void

remove(base* pbase){} };

//我們擴充套件base

的add, remove功能,在這兩個函式裡需要處理一些derive內部自己的資料。若使用者直接呼叫add, remove。derive的一些內部資料得不到處理,則可能會導致其他的呼叫會出錯。解決方法有兩種。 1

)私有派生,將直接可以呼叫函式公有化。

class

derive: private

base

void

removeex(base* pbase){} };

2)公有派生,將不能直接呼叫的函式私有化。

class

derive: public

base

void

removeex(base* pbase){} };

void

call()

繼承類對基類成員的訪問許可權

繼承是事物發展的過程,通過繼承使得後代繼承了父輩的優秀屬性並進一步 拓展出新的屬性和能力。c 中的繼承就是現有的類中建立乙個新的類,現有的類成為基類,繼承出來的新類稱為派生類,可以簡單的理解為 基類為父親,派生類為兒子。繼承的方式有三種,分別是 公有繼承 public 私有繼承 private 保護...

類訪問許可權

包訪問許可權類,預設情況 只有在myclass包內的類才有許可權引用accesstype類 package myclass class accesstype void fun 例1 import myclass.accesstype public class referother 本類 包外部類 在...

c 繼承方式及對基類的訪問許可權

公有繼承,私有繼承和保護繼承三種。繼承方式 基類屬性 public protected private 公有繼承 public public protected 不可見保護繼承 protected protected protected 不可見私有繼承 private private private...