練習15.8:給出靜態類型和動態類型的定義。函數
答: 靜態類型:是變量聲明時的類型,或者是表達式生成的類型,這樣的類型在編譯時已知。指針
動態類型:是變量或者表達式表示的內存中的對象的類型,直到運行時纔可知。對象
練習15.9:在什麼狀況下表達式的靜態類型可能與動態類型不一樣?請給出三個靜態類型與動態類型不一樣的例子。內存
答:第一種:函數形參是基類的引用(靜態類型),調用函數時,傳遞的實參爲派生類的對象(動態類型)。編譯
第二種:函數形參是基類的指針(靜態類型),調用函數時,傳遞的實參爲派生類的指針(動態類型)。變量
第三種:函數形參是基類的指針(靜態類型),調用函數時,傳遞的實參爲派生類的對象的引用(動態類型)。引用