堅持c++,真正掌握c++(4)

這幾天複習了c++primer的第12章類的講解,雖然之前這一章也看了幾遍,但是我終究覺得書讀百遍其義自現,現在我給出一些我學習的心得,歡迎大家一起探討。

首先,類可以說是c++的靈魂,正因爲c++中有類的出現,提高了代碼的複用率,實現了真正的面向對象的編程,我們可以使用別人編寫設計的類,只要我們知道這個類的成員函數和成員數據,我們就可以使用這個類而不必去考慮這個類的實現方式。c++中就存在着很多這樣的類,最經典的莫過於微軟自己開發的windows界面庫MFC了,這個類封裝了windows API函數,我們在設計windows桌面應用程序時,只需要調用相應的函數就可以設計出很漂亮的桌面應用程序,這是很方便的。說到類,首先要講到的是,類是怎麼聲明和定義的,類的定義和聲明可以使用兩個關鍵字實現,分別是class和struct,他們沒什麼太大的區別,最主要的區別是class中默認的訪問權限是私有的,而struct默認的訪問權限是公有的。類當中包含着一個隱含的成員是this指針,this指針指向自己,我們可以通過this->...來調用成員,但是一般不用這樣做,但是也有必須要使用this指針的地方,比如我們成員函數返回的類型爲類類型的引用,那麼我們必須要使用this指針作爲返回。類定義中首先出現的函數是類構造函數,即使用戶沒有定義構造函數,編譯器也會自己提供一個默認的構造函數,但是隻要用戶自己定義了類的構造函數,那麼編譯器就不會提供默認構造函數。用戶可以重載構造函數,當然自己也可以定義默認構造函數(沒有形參的構造函數)。

關於類的訪問權限的問題,訪問權限分爲公有和私有(後面還會介紹保護),類的使用者只能訪問類的公有成員,私有成員函數和成員變量只能在類的作用域中進行訪問,如果別的函數或者類想訪問類的私有成員,那麼我們可以通過設定該函數或者類爲此類的友元,這樣就能訪問類的私有成員函數和變量了。

類當中也存在着static靜態成員,而靜態成員不同於其他的成員,因爲靜態成員不屬於類的對象,而獨屬於這個類,我們不能在類中聲明類本身類型的變量,但是我們可以將這樣的變量聲明爲靜態變量,也可以聲明爲這樣的變量的指針或者引用。


發佈了57 篇原創文章 · 獲贊 35 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章