class people
virtual void getname_different_params()
// 隱藏規則2:
// 1) 函式名相同 && 引數相同
// 2) 無virtual
void getphone_same_params()
// 覆蓋規則:
// 1) 函式名相同 && 引數相同
// 2) 有virtual
virtual void getaddress_same_params()
};class children : public people
virtual void getname_different_params(int)
// 隱藏規則2:
// 1) 函式名相同 && 引數相同
// 2) 無virtual
void getphone_same_params()
// 覆蓋規則:
// 1) 函式名相同 && 引數相同
// 2) 有virtual
virtual void getaddress_same_params()
};void test1()
隱藏和覆蓋 C
我可以給你說說我的理解 我認為隱藏和覆蓋的區別主要體現在 多型上 舉個例子 隱藏和覆蓋 include include using namespace std class a void f class b public a virtual void g int main 結果是 a a b invo...
C 隱藏和覆蓋
1 在c 裡面,只有宣告vitual abstract和帶override的方法能夠被子類重寫 override 2 如果父類方法沒有以上關鍵字,子類又有和父類一樣的方法,那麼,就預設隱藏父類方法,這時候在命名空間後面要加new關鍵字 public newint sayhello 如果不加new關鍵...
C 覆蓋和隱藏
指的是 子類繼承父類屬性 函式 並且自身也有與父類同名的屬性 函式 這是編譯器就會在子類中對父類屬性做乙個隱藏,我們並不能通過子類物件直接點出父類相關屬性或函式,必須要在特定位置上加上父類作用域才可以。指的是 子類繼承父類虛函式,並且對其重寫,這時,我們用乙個父類指標來接收子類物件位址。並通過這個父...