c++有什么用 構(gòu)造函數(shù)調(diào)用虛函數(shù)時各有什么特點?
構(gòu)造函數(shù)調(diào)用虛函數(shù)時各有什么特點?不要在構(gòu)造函數(shù)中調(diào)用虛擬函數(shù)。在基類的構(gòu)造中,虛函數(shù)是非虛函數(shù),不會進(jìn)入派生類。它是一個靜態(tài)綁定。顯然:當(dāng)我們構(gòu)造子類的對象時,我們首先調(diào)用基類的構(gòu)造函數(shù)來構(gòu)造子類中
構(gòu)造函數(shù)調(diào)用虛函數(shù)時各有什么特點?
不要在構(gòu)造函數(shù)中調(diào)用虛擬函數(shù)。在基類的構(gòu)造中,虛函數(shù)是非虛函數(shù),不會進(jìn)入派生類。它是一個靜態(tài)綁定。顯然:當(dāng)我們構(gòu)造子類的對象時,我們首先調(diào)用基類的構(gòu)造函數(shù)來構(gòu)造子類中基類的一部分。子類尚未構(gòu)造且尚未初始化。如果我們在基類的構(gòu)造中調(diào)用虛函數(shù),如果可以的話,調(diào)用一個尚未初始化的對象是非常危險的,所以在構(gòu)造父類對象的部分時,不允許調(diào)用子類的虛函數(shù)實現(xiàn)。但并不是說你不能那樣編程