C++很多時候被認為是“C with Class”,事實上,C++引入了完整的面向對象思想,並且為支持這種思想增加了很多基礎結構。
類與結構體
C++中的類和結構體是非常相似的。
C++的繼承
C++中沒有接口的關鍵字,但是有接口的思想。事實上一個純虛函數就是一個接口。正因為沒有接口的概念,所以,C++沒有實現(implements)這種說法,它所具有的只有繼承。與Java不一樣,C++支持多繼承。既C++的繼承分為單繼承和多繼承2種方式,對於單繼承,派生類只有一個基類;對於多繼承,派生類通常是從多個基類派生出來的。其格式為:
單繼承格式:class 派生類名:繼承方式 基類名
多繼承格式:class 派生類名:繼承方式1 基類名1,……,繼承方式n 基類名n
除了單繼承與多繼承外,C++的繼承裡還有公共繼承(public)、保護繼承(protected)和私有繼承之分。具體可見下表:
派生類成員訪問屬性
基類成員訪問屬性
繼承方式
public
protected
private
public
public
protected
private
protected
protected
protected
private
private
在派生類中隱藏
在派生類中隱藏
在派生類中隱藏
另外,C++中還有虛繼承的概念:
class 派生類名:virtual 繼承方式 基類名