1. 程式人生 > >【C++】總體認識,c++與java簡單對比

【C++】總體認識,c++與java簡單對比

      學習了C++的一些知識,因為Java是用C寫的,而C++是對C的封裝,所以有java基礎,學C++不難。

      C++在形式上比java繁瑣,比如要有main方法,函式定義,成員變數賦值,靜態成員賦值等。

      但是C++有指標型別,所以在操作類,函式,陣列上,更靈活,這也是一個難點,但理解了指標,我們對記憶體的底層分析就更好理解了。

      C++和java都是面向物件的語言,在封裝,繼承,多型三個基本特性上的表現基本一樣。對成員變數的訪問許可權(private,public,protected)。在繼承方面,c++ 支援多繼承,所以有二義性問題,需要使用作用域限定符限制同名函式具體屬於哪個類。涉及到多型,有關鍵的兩點:過載和虛擬函式。過載在這裡不再贅述,記住關鍵性兩點:函式名相同,引數列表不同;多型的關鍵之處是:一切用指向基類的指標或引用操作物件。使用虛擬函式,可以保證用基類的指標來呼叫子類的函式。定義一個函式為純虛擬函式,才代表函式沒有被實現。定義純虛擬函式是為了實現一個介面,起到一個規範的作用,規範繼承這個類的程式設計師必須實現這個函式。關於虛擬函式的解釋,詳情請見:

C++中虛擬函式的作用是什麼?它應該怎麼用呢?

       還有印象很深的就是友元函式,擴充套件函式的一種方式,破壞了物件封裝的特性,但可以通過友元函式訪問其他類的成員變數,更靈活。

       以上是博主對C++的整體認識和與java做的一些區分,後續會繼續學習,分享。