1. 程式人生 > >C++學習(二)

C++學習(二)

點選開啟連結

CA* pa = &c;這句話是父類指標指向子類物件,呼叫pa->f1()時,因為父類中的f1()是虛擬函式,所以將發生動態繫結,呼叫子類CB中的f1()函式,先輸出CB::f1() 在CB類的f1()函式中,呼叫非虛擬函式f2(),但因為其父類CA中的f2()函式並不是virtual函式,所以將呼叫CB類中的f2()函式,輸出CB::f2()。如果將CA類中的f2()改成虛擬函式,那麼將輸出CC::f2();如果將CB類中的f2()改成虛擬函式,也將輸出CC::f2(),這是滿足動態繫結的。