1 類的繼承及類中成員的訪問特性
/*
在類中還有另外一種成員訪問權限修飾符:protected。下面是public, protected, private
三種訪問權限的比較:
public定義的成員可以在任何地方被訪問。
protected定義的成員只能在該類及其子類中訪問。
private定義的成員只能在該類自身中訪問。
對於繼承,也可以有public、protected或private這三種訪問權限去繼承其基類中的成員。
如果在定義派生類時沒有指定如何繼承訪問權限,則默認爲private。如果派生類以private
訪問權限繼承基類,在基類中的成員在派生類中都變成了private類型的訪問權限。如果派生
類以public訪問權限繼承基類,則基類中的成員在派生類中仍以原來的訪問權限在派生類中
出現。如果派生類以protected訪問權限繼承基類,則基類中的public和protected成員在
派生類中都變成了protected類型的訪問權限。
注意:基類中的private成員不能被派生類訪問,因此,private成員不能被派生類所繼承。
*/
2 C++多態性
/*
C++的多態性:在基類的函數前加virtual關鍵字,在派生類中重寫該函數,運行時會根據
對象的實際類型來調用相應的函數。如果對象類型是派生類,就調用派生類的函數;如果
對象類型是基類,就調用基類的函數。
*/
/*
當C++編譯器在編譯的時候,發現animal類的breath()函數是虛函數,這個時候C++就會
採用遲綁定(late binding)技術。也就是編譯時並不確定具體調用的函數,而是在運行
時,依據對象的類型來確定調用的是哪一個函數,這種能