第44課 繼承中的訪問級別

2021-08-14 19:48:27 字數 1293 閱讀 8180

1.1、

根據物件導向的理論:

子類擁有父類的一切屬性和行為

,子類能夠直接訪問父類的私有成員!

1.2、

但c++語法規定,外界

不能直接訪問類的private

成員,所以

子類也不能直接訪問父類的私有成員

2.1、

物件導向中的訪問級別不只是public和private

2.2、

可以定義protected訪問級別

2.3、

關鍵字protected

的意義2.3.1、

修飾的成員

不能被外界直接訪問

2.3.2、

修飾的成員

可以被子類直接訪問

為什麼物件導向中需要protected關鍵字???

定義類時訪問級別的選擇::

組合和繼承的綜合例項:

/***********************     組合和繼承的綜合例項  ***********/

#include

#include

#include

using namespace std;

//ostringstream   將數字轉換為字串

class object

string name()

string info()

};class point : public object

int x()

int y()

};

class line : public object

point begin()

point end()

};int main()

3.1、

物件導向中的訪問級別不只有public和private

3.2、

protected

修飾的成員

不能被外界所訪問

3.3、

protected

使得子類能夠訪問父類的成員

3.4、

protected關鍵字是為了繼承而專門設計的

3.5、

沒有protected就無法完成真正意義上的**復用

第44課 繼承中的訪問級別

子類是否可以直接訪問父類的私有成員?編譯出錯,那如何訪問父類中的非公有成員呢?物件導向中的訪問級別不只是public和private 可以定義protected訪問級別 關鍵字protected的意義 修飾的成員不能被外界直接訪問 修飾的成員可以被子類直接訪問 includeusing namesp...

44 繼承中的訪問級別

外類不能直接訪問類的 private成員 子類不能直接訪問父類的私有成員 include include using namespace std class parent int value class child public parent int main int value class chi...

繼承中的訪問級別

繼承的概念之前的文章已經提及了,那麼子類是否可以直接訪問父類的私有成員呢,答案是否定的 例子 include include using namespace std class parent intvalue class child public parent int main 結果 a.cpp 在...