新聞中心
這篇文章主要介紹C++子類父類成員函數(shù)如何覆蓋和隱藏,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

C++子類父類成員函數(shù)的覆蓋和隱藏實例詳解
函數(shù)的覆蓋
覆蓋發(fā)生的條件:
(1) 基類必須是虛函數(shù)(使用virtual 關(guān)鍵字來進行聲明)
(2)發(fā)生覆蓋的兩個函數(shù)分別位于派生類和基類
(3)函數(shù)名和參數(shù)列表必須完全相同
函數(shù)的隱藏
隱藏發(fā)生的條件:
(1)子類和父類的函數(shù)名相同,參數(shù)列表可以不一樣
看完下面的例子就明白了
#include "iostream"
using namespace std;
class CBase{
public:
virtual void xfn(int i){
cout << "Base::xfn(int i)" << endl; //1
}
void yfn(float f){
cout << "Base::yfn(float)" << endl; //2
}
void zfn(){
cout << "Base::zfn()" << endl; //3
}
};
class CDerived : public CBase{
public:
void xfn(int i){
cout << "Derived::xfn(int i)" << endl; //4
}
void yfn(int c){
cout << "Derived:yfn(int c)" << endl; //5
}
void zfn(){
cout << "Derived:zfn()" << endl; //6
}
};
void main(){
CDerived d;
CBase *pb = &d;
CDerived *pd = &d;
pb->xfn(5); //覆蓋
pd->xfn(5); //直接調(diào)用
pb->yfn(3.14f); //直接調(diào)用
pd->yfn(3.14f); //隱藏
pb->zfn(); //直接調(diào)用
pd->zfn(); //隱藏
}
以上是“C++子類父類成員函數(shù)如何覆蓋和隱藏”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:C++子類父類成員函數(shù)如何覆蓋和隱藏-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://m.biofuelwatch.net/article/digiei.html


咨詢
建站咨詢
