組合類,友元函數 ,內部類,

        在我前前面已經說過組合類的概念了,今天我再介紹兩個類,友元,以及內部類。
ide

         組合類,就是一個類中有另外一個類的對象,如聲明一個class  penson,成員變量有姓名,年齡,出生日期等,在聲明一個date類,這個類裏面就是存的年月日的信息,所以咱們能夠將person類的出生日期設爲date類,這就構成了一個組合類。函數

        友元的概念,就像是咱們的朋友,好比說  小紅說小明是她的朋友,那麼對於小紅來講,小明確定有別人所沒有的特權(爲何是段子手小明啊 ,老王呢?j_0059.gif)所以,類舉到咱們的類中,就是說,一個類能夠把另外一個類當成朋友,給予他訪問本身成員變量的權利(包括私有成員變量,還真是推心置腹啊,沒有一點祕密)。那麼另外一個類,在本身的類中就能夠訪問剛纔那個類的變量。this

    友元還有一種概念是友元函數,相似於友元類。其實,友元類裏面的每一個方法都是一個友元函數,讀者自行腦補。
spa

友元的特徵,不能傳遞(朋友的朋友不必定是朋友),不能交換(你把他當朋友,他不必定把你當朋友,在這就是他不把你當朋友),不能繼承(你爸爸的朋友不必定是你的朋友)指針

        

友元類的使用時機:對象

         友元雖然能夠訪問類的成員變量,可是他打破了類的封裝,所以不建議這樣作。
繼承

        在運算符的重載是會用到友元類資源

        在類與類之間要共享資源的時候get

友元函數的參數問題(友元函數無this指針)有3種狀況: it

一、要訪問非靜態成員時,須要對象作參數;

二、要訪問靜態成員或全局變量時,不須要對象作參數;

三、若是作參數的對象是全局的,則也不須要對象作參數

        

    內部類,內部類也叫作嵌套類。我我的很喜歡將其稱爲內部類,顧名思義,就是在一個類的中間定義另外一個類。裏層和外層類訪問的規則是,互相能夠訪問公有成員。

       在定義內部類前面要加上public,(類成員默認私有,不加系統默認爲實聲明瞭一個私有的內部類),內部類不能夠直接訪問外部類的成員,一種方法是經過外部類的對象,一種方法是靜態訪問即:外部類名::外部類靜態成員訪問

類的成員的訪問方法(類外:public

方法一:對象名.成員(變量或者函數)

                                                          指針變量à成員(變量或者方法)

                                                          *指針變量).成員(變量或者方法)

方法二:類名::成員(變量或者函數)

相關文章
相關標籤/搜索