成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

多態(tài)app官網(wǎng) C 多態(tài)是怎么實(shí)現(xiàn)的?

C 多態(tài)是怎么實(shí)現(xiàn)的?C的多態(tài)實(shí)現(xiàn)主要包括函數(shù)重載(包括操作符函數(shù))、模板和虛函數(shù)。其目的是用相同的函數(shù)名調(diào)用不同的函數(shù)體,以提高程序的可重用性和可擴(kuò)展性。函數(shù)重載和模板是靜態(tài)組合的,即函數(shù)調(diào)用的所

C 多態(tài)是怎么實(shí)現(xiàn)的?

C的多態(tài)實(shí)現(xiàn)主要包括函數(shù)重載(包括操作符函數(shù))、模板和虛函數(shù)。其目的是用相同的函數(shù)名調(diào)用不同的函數(shù)體,以提高程序的可重用性和可擴(kuò)展性。

函數(shù)重載和模板是靜態(tài)組合的,即函數(shù)調(diào)用的所有信息在編譯時(shí)確定。函數(shù)重載可以是類的成員函數(shù)和友元函數(shù),也可以是類外的普通函數(shù)。實(shí)際參數(shù)的個(gè)數(shù)或“類型和順序”用于確定特定的調(diào)用,因此定義時(shí),這些同名函數(shù)的形式參數(shù)或“類型和順序”的個(gè)數(shù)必須不同。

虛擬函數(shù)采用動(dòng)態(tài)綁定方式,允許在運(yùn)行時(shí)建立函數(shù)調(diào)用與函數(shù)體的連接,并根據(jù)對(duì)象類型調(diào)用相應(yīng)的函數(shù)。虛函數(shù)必須是類的成員函數(shù)(非靜態(tài)成員函數(shù))。它必須在基類中聲明,并在派生類中重新定義。此外,它的函數(shù)類型、函數(shù)名、參數(shù)個(gè)數(shù)和順序必須與基類中的函數(shù)原型完全相同。具體調(diào)用需要通過基類指針指向派生類對(duì)象來獲得運(yùn)行時(shí)多態(tài)性,并根據(jù)指針指向的實(shí)際對(duì)象調(diào)用成員函數(shù)。

簡單列出使用虛擬函數(shù)的兩個(gè)注意事項(xiàng)。

1)運(yùn)行時(shí)多態(tài)性只能通過通過基類指針訪問虛擬函數(shù)來獲得。直接使用派生類對(duì)象和點(diǎn)運(yùn)算符也可以調(diào)用虛函數(shù),但它沒有利用其多態(tài)性。

2)在派生類中重新定義虛函數(shù)時(shí),如果其參數(shù)的個(gè)數(shù)、類型和順序與基類的虛函數(shù)原型不同,系統(tǒng)會(huì)將其作為普通函數(shù)重載進(jìn)行靜態(tài)綁定,因此無論如何調(diào)用,都不會(huì)有運(yùn)行多態(tài)性。