C 程式語言 第十五章 類層次結構

2021-06-01 20:36:15 字數 871 閱讀 4084

1、多重繼承

過載解析的使用不會跨越不同類的作用域。

使用宣告可以將不同類中的函式引入到乙個公共的作用域。在乙個類定義裡的使用宣告所引用的必須是基類的成員。

在任何派生類中的virtual基類總用同乙個(共享)物件表示。

虛基類的建構函式將在其派生類的建構函式之前呼叫。

多重繼承能使兄弟類之間共享資訊。

在覆蓋虛基類的函式的時候,必須有乙個函式覆蓋所有其他的函式。

2、訪問控制

protected是描述供派生類使用的操作的極好方式。

對於基類的訪問描述符控制著對基類成員的訪問,以及從派生類型別到基類型別的指標和引用轉換。考慮從基類b派生出的類d:

3、執行時型別資訊

dynamic_cast<>()運算子有兩個引數,乙個是<>括起來的型別,另乙個是()括起來的指標或者引用。

dynamic_cast要求乙個到多型型別的指標或者引用,以便做向下強制或交叉強制。目標型別不必是多型的,可以將乙個具體型別包裹在乙個多型型別裡。

dynamic_cast能從多型性的虛基類強制到某個派生類或者兄弟類,static_cast不檢查被強制的物件,所以它做不到這樣。

乙個類物件並不簡單是一塊儲存。類物件是通過其建構函式從「原始儲存」中構築起來的,並通過其析構函式的執行使它重歸於「原始儲存」。構造是自下而上的過程,析構是自上而下。乙個類物件也就是在它能得以構造或析構的意義上才稱其為物件。

通過typeid運算子可以知道乙個類的名字或者它的布局。

4、指向成員的指標

指向成員的指標就是一種標識類成員的值。

5、自由儲存

基類新增虛析構函式,保證清理。

定義乙個函式,由它呼叫建構函式並返回構造起來的物件,可以構造乙個物件而不必知道其確切的型別。

第十五章預習

public class yuxi15 else 字串的比較 字串1.equals 字串2 比較兩個字串的值是否相同,返回boolean型別的值.如果相同,則返回真值,否則返回假值.字串1.equalsignorecase 字串2 忽略大小寫比較字串1和字串2.如果都相同則返回真值 否則返回假值 改...

第十五章之(二)巢狀類

在c 中,可以將類宣告放在另乙個類中。在另乙個類中宣告的類,被稱為巢狀類 nested class 它通過提供新的型別類作用域類避免名稱混亂。包含類的成員函式,可以建立和使用被巢狀類的物件。而僅當宣告位於公有部分時,才能在包含類的外面使用巢狀類。而且必須使用作用域解析運算子 舊版本可能不允許使用巢狀...

第十五章之(二)巢狀類

在c 中,可以將類宣告放在另乙個類中。在另乙個類中宣告的類,被稱為巢狀類 nested class 它通過提供新的型別類作用域類避免名稱混亂。包含類的成員函式,可以建立和使用被巢狀類的物件。而僅當宣告位於公有部分時,才能在包含類的外面使用巢狀類。而且必須使用作用域解析運算子 舊版本可能不允許使用巢狀...