虛函數(shù)的作用和原理 構造函數(shù)為什么不可以聲明為虛函數(shù)?
構造函數(shù)為什么不可以聲明為虛函數(shù)?如果目標文件中有一個符號表,最直觀的方法是在符號表中找到與修改后的構造函數(shù)名稱相對應的地址項。如何操作取決于主體需要在什么條件下找到地址去做。構造函數(shù),靜態(tài)函數(shù)可不可
構造函數(shù)為什么不可以聲明為虛函數(shù)?
如果目標文件中有一個符號表,最直觀的方法是在符號表中找到與修改后的構造函數(shù)名稱相對應的地址項。如何操作取決于主體需要在什么條件下找到地址去做。
構造函數(shù),靜態(tài)函數(shù)可不可以為虛函數(shù)?
構造函數(shù)不能聲明為虛擬函數(shù)的原因是,在多態(tài)性的情況下,所謂的虛擬函數(shù)只執(zhí)行一個。從繼承的概念來看,總是需要先構造父類對象,然后再構造子類對象。如果構造函數(shù)被設置為虛函數(shù),那么在構造父類的構造函數(shù)時,必須顯示調用構造。另一個原因是為了防止錯誤:如果您不小心重寫了一個與子類中父類的構造函數(shù)相同的函數(shù),那么您的父類的構造函數(shù)將被重寫,也就是說,您無法完成父類的構造。會有一個錯誤。---在子類繼承父類的public方法之后,可以向public添加新方法和屬性(屬性通常放在private或protect中)。這不是真的非靜態(tài)成員函數(shù)可以聲明為虛擬函數(shù)。
因為它是對象的一部分