C++中對于繼承分為單一繼承和多重集成.只有一個基類的叫單一繼承,擁有多個基類的叫多重繼承,
而在java中extends 只可以有一個,相對于implement可以有多個。
java中的子類,在c++中又稱為派生類
在c++中當(dāng)你聲明一個派生類時,你可以通過在類的名字后面加一個冒號(:)來表示它是從哪個類派生出來的
例:
Class 派生類:public 父類
注意: public代表的是派生的類型,也可以聲明為私有(private),后面跟基類的名字
多重繼承
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供互助網(wǎng)站建設(shè)、互助做網(wǎng)站、互助網(wǎng)站設(shè)計、互助網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、互助企業(yè)網(wǎng)站模板建站服務(wù),十年互助做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。c++中有兩種繼承,單一繼承和多重繼承。只有一個基類的叫單一繼承,擁有多個基類的叫多重繼承
例如(繼承兩個類的寫法)
class Son:public Father,public Mother
另外,多重繼承允許分別設(shè)置基類的派生權(quán)限。
例如:
class Son:public Father,private Mother
這樣子類Son就是從Father類公有派生,從Mother類私有派生。
這樣從Father類集成來的所有成員在子類中權(quán)限保持不變,也就是說原來是公有的還是公有,原來是私有的還是私有。
而Mother類的所有成員在Son中就變成私有,更加精準(zhǔn)的說法是,Mother類的公有成員和保護(hù)成員被Son類繼承后變成了私有,而私有成員則變成不可訪問的成員
繼承的構(gòu)造和析構(gòu)
#include
using namespace std;
class father
{
public:
father(){cout<<"構(gòu)造父類對象
";}
~father(){cout<<"析構(gòu)父類對象
";}
};
class son:public father
{
public:
son(){cout<<"構(gòu)造子類對象
";}
~son(){cout<<"析構(gòu)子類對象
";}
};
int main()
{
son Jack;
return 0;
}
根據(jù)輸出可以看出先構(gòu)造的是父類對象,而析構(gòu)時是先析構(gòu)子類。