在面向東西編程中,派生類持續基類是一個罕見的不雅點。這種持續機制容許派生類獲取基類中定義的屬性跟方法。那麼,派生類畢竟能持續哪些函數呢? 總結來說,派生類可能持續基類中的全部私有(public)跟受保護(protected)成員函數,但不克不及持續基類中的私有(private)成員函數。
具體來看,私有持續意味著派生類持續了基類的私有成員跟受保護成員。私有成員在派生類中保持其原有的拜訪級別,即派生類的東西可能拜訪這些成員。受保護成員在派生類中也仍然是受保護的,這意味著只有派生類本人的成員函數跟友元函數可能拜訪它們。 受保護持續跟私有持續會改變基類成員在派生類中的拜訪級別。受保護持續會把基類的私有成員跟受保護成員都變成派生類的受保護成員;而私有持續則把基類的私有成員跟受保護成員都變成派生類的私有成員。
值得注意的是,派生類並不持續基類的構造函數跟析構函數。這是因為構造函數跟析構函數的挪用依附於東西的創建跟燒毀,而這些操縱在派生類跟基類中是獨破的。但是,派生類的構造函數會主動挪用基類的構造函數,以確保基類的成員被正確初始化。 其余,派生類可能重寫(override)持續的虛函數。這容許派生類供給具體的實現,以順應特定的派生類須要。固然,這請求基類中的函數必須是虛函數。
最後總結,派生類持續的函數範例包含私有成員函數跟受保護成員函數,但不包含私有成員函數。派生類也無法持續構造函數跟析構函數,但可能重寫虛函數以實現多態性。