卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

多態(tài)app官網 C 多態(tài)是怎么實現的?

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

C 多態(tài)是怎么實現的?

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

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

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

簡單列出使用虛擬函數的兩個注意事項。

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

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