C 入門教程(五十四) 訪問限制

2021-08-18 05:57:08 字數 1150 閱讀 6763

小古銀的官方**(完整教程):

鞏固練習

使用關鍵字protected之後,在它下面的所有成員都是保護的,程式設計師不可以通過物件來使用這些保護成員,但是可以在繼承類中使用這些保護的成員。

使用關鍵字private之後,在它下面的所有成員都是私有的,程式設計師不可以通過物件來使用這些私有成員,也不能在繼承類中使用這些私有的成員。

#include // std::cout std::endl

class point_t

;int main(void)

輸出結果:

1
point_tx是公共成員,所以物件point可以直接使用成員變數x。而y保護私有成員,z是私有成員,所以物件point不能直接使用yz。所以去掉**中的兩行注釋將會編譯報錯。

#include // std::cout std::endl

class point_t

;int main(void)

void point_t::reset(int a, int b, int c)

輸出結果:

1
該類內的所有成員函式都能訪問該類內的所有私有保護公共成員。

我們已經宣告了類******_vector和這個類需要的成員函式和成員變數。物件導向思想有個原則就是封裝,需要將**細節隱藏,而類宣告裡面的兩個成員變數並不需要也不能夠讓呼叫者通過物件將其改變。因為每新增乙個元素,陣列和陣列大小都會隨之改變,而如果讓程式設計師直接操作,萬一某個程式設計師只改了陣列內容而不改陣列大小,那麼這個資料在後面操作就會混亂,所以我們需要隱藏這兩個成員變數,讓其他程式設計師不需要考慮這兩個成員變數。這就是物件導向的封裝思想。

練習:對******_vector部分的成員新增適當的訪問限制。

C 入門教程

c 是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c 擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c 就適應的問題規模而論,大小由之。c 不僅擁有計算機高效執行的實用性特徵,...

c 入門教程 一

事前日常敲黑板 1 從現在開始 我寫的東西不一定完全是正確的,有些只是看了看理論,沒有實際驗證過,有些驗證過但是不同的編譯器會有不同的效果,所以建議有能力的話手動去試一下。我說的和書上寫的都不一定是對的,但是編譯器實際跑出來的結果在這個編譯器 假裝就是昨天那個軟體了 上就是對的。2 明天的內容可能會...

c 入門教程 八

事前日常敲黑板 1 事情從今天開始變得複雜了 需要用心了哦 首先,思考下面情形 輸入乙個數字,輸出這個數到0之間的所有數字 不要掙扎了,流程圖逃不掉的 仔細觀察一下,看一下和前面的if 的流程圖有什麼區別.答案 if的判斷框的兩個分支都是向下的,這裡面的乙個分支是向上的,也就是說如果判斷的結果滿足某...