(八)繼承
前言:本章節依然僅僅總結與java語言的不同之處,相同點不會總結,如果要查看全部資料可以通過http://pcedu.pconline.com.cn/videoedu/asp/0906/1682266_1.html看c++基礎的學習視頻
C++中對于繼承分為單一繼承和多重集成.只有一個基類的叫單一繼承,擁有多個基類的叫多重繼承,
而在java中extends 只可以有一個,相對于implement可以有多個。
java中的子類,在c++中又稱為派生類
在c++中當你聲明一個派生類時,你可以通過在類的名字后面加一個冒號(:)來表示它是從哪個類派生出來的
例:
Class 派生類:public 父類
注意: public代表的是派生的類型,也可以聲明為私有(private),后面跟基類的名字
多重繼承
c++中有兩種繼承,單一繼承和多重繼承。只有一個基類的叫單一繼承,擁有多個基類的叫多重繼承 例如(繼承兩個類的寫法) class Son:public Father,public Mother
另外,多重繼承允許分別設置基類的派生權限。
例如:
class Son:public Father,private Mother
這樣子類Son就是從Father類公有派生,從Mother類私有派生。
這樣從Father類集成來的所有成員在子類中權限保持不變,也就是說原來是公有的還是公有,原來是私有的還是私有。
而Mother類的所有成員在Son中就變成私有,更加精準的說法是,Mother類的公有成員和保護成員被Son類繼承后變成了私有,而私有成員則變成不可訪問的成員
繼承的構造和析構
#include <iostream>
using namespace std;
class father
{
public:
father(){cout<<"構造父類對象\n";}
~father(){cout<<"析構父類對象\n";}
};
class son:public father
{
public:
son(){cout<<"構造子類對象\n";}
~son(){cout<<"析構子類對象\n";}
};
int main()
{
son Jack;
return 0;
}
根據輸出可以看出先構造的是父類對象,而析構時是先析構子類。

浙公網安備 33010602011771號