C++成員函數(shù)
類的成員函數(shù)是指那些把定義和原型寫在類定義內(nèi)部的函數(shù),就像類定義中的其他變量一樣。類成員函數(shù)是類的一個成員,它可以操作類的任意對象,可以訪問對象中的所有成員。
函數(shù)的原型必須在類中進行定義,函數(shù)體可以在類中定義,也可在類的外部定義函數(shù)體,通常把函數(shù)體寫在類的外部,只有在成員函數(shù)很短的時候才寫在類的里面。函數(shù)的定義和函數(shù)體都在類外部的時候為全局函數(shù)。
在類的外部使用范圍解析運算符 :: 定義該函數(shù)
下面以書為例子展示了成員函數(shù)的使用方法:


運行的結(jié)果為:
30? 35? 這兩本書是同一本書
小貼士:當一個函數(shù)對數(shù)據(jù)沒有修改,不做變化的時候,使用const修飾函數(shù)使其成為常量成員函數(shù),具有更高的保險系數(shù)。
類訪問修飾符(public、private、protected)
數(shù)據(jù)封裝是面向?qū)ο缶幊痰囊粋€重要特點,它防止函數(shù)直接訪問類類型的內(nèi)部成員。
類成員的訪問限制是通過在類主體內(nèi)部對各個區(qū)域標記 public、private、protected 來指定的。關(guān)鍵字 public、private、protected 稱為訪問修飾符。
一個類可以有多個 public、protected 或 private 標記區(qū)域。每個標記區(qū)域在下一個標記區(qū)域開始之前或者在遇到類主體結(jié)束右括號之前都是有效的。
成員和類的默認訪問修飾符是 private。
公有(public)成員
可以不使用任何成員函數(shù)來設(shè)置和獲取公有變量的值

私有(private)成員
私有成員變量或函數(shù)在類的外部是不可訪問的,甚至是不可查看的。只有類和友元函數(shù)可以訪問私有成員。


保護(protected)成員
保護成員變量或函數(shù)與私有成員十分相似,但有一點不同,保護成員在派生類(即子類)中是可訪問的。后面的繼承會看到
繼承中的特點
有public, protected, private三種繼承方式,它們相應(yīng)地改變了基類成員的訪問屬性。

1.public 繼承:基類 public 成員,protected 成員,private 成員的訪問屬性在派生類中分別變成:public, protected, private
2.protected 繼承:基類 public 成員,protected 成員,private 成員的訪問屬性在派生類中分別變成:protected, protected, private
3.private 繼承:基類 public 成員,protected 成員,private 成員的訪問屬性在派生類中分別變成:private, private, private
不管是哪一種繼承方式,在派生類內(nèi)都可以訪問基類的非私有成員,基類的私有成員雖然被繼承了,但是并不是可見的。而對于保護和私有繼承方式,類外對象并不能訪問基類的成員,公有繼承方式下可以訪問基類的公有成員。
但無論哪種繼承方式,上面兩點都沒有改變:
1.private 成員只能被本類成員(類內(nèi))和友元訪問,不能被派生類訪問;
2.protected 成員可以被派生類訪問。
感到有一點兒幫助就給顆小心?吧