函數(shù)的重載:語義和功能相似的函數(shù)用相同的名字表示,編譯器根據(jù)不同的參數(shù)為不同的函數(shù)產(chǎn)生不同的內(nèi)部標(biāo)識符 C++函數(shù)調(diào)用C函數(shù):extern "C"{ } !!并不是函數(shù)名相同就是重載,全局函數(shù)和類成員函數(shù)就不是重載,作用域不同 防止隱式類型轉(zhuǎn)換而導(dǎo)致重載函數(shù)調(diào)用的二義性 成員函數(shù)的重載、覆蓋和隱藏 重載的特征overload: (1)具有相同的范圍(在同一個類中) (2)函數(shù)名字相同 (3)參數(shù)不同 (4)virtual關(guān)鍵字可有可無 覆蓋的特性overriding: 派生類覆蓋基類的函數(shù): (1)范圍不同(不在同一個類中) (2)函數(shù)名字相同 (3)參數(shù)相同 (4)基類必須帶virtual關(guān)鍵字 隱藏規(guī)則: (1)如果派生類的函數(shù)與基類的函數(shù)同名,但是參數(shù)不同。此時,不論有無virtual 關(guān)鍵字,基類的函數(shù)將被隱藏(注意別與重載混淆)。 (2)如果派生類的函數(shù)與基類的函數(shù)同名,并且參數(shù)也相同,但是基類函數(shù)沒有virtual 關(guān)鍵字。此時,基類的函數(shù)被隱藏(注意別與覆蓋混淆)。 參數(shù)的缺省 只能出現(xiàn)在函數(shù)聲明中 關(guān)鍵字inline 必須與函數(shù)定義體放在一起才能使函數(shù)成為內(nèi)聯(lián) 定義在類聲明之中的成員函數(shù)將自動地成為內(nèi)聯(lián)函數(shù) (1)如果函數(shù)體內(nèi)的代碼比較長,使用內(nèi)聯(lián)將導(dǎo)致內(nèi)存消耗代價較高。 (2)如果函數(shù)體內(nèi)出現(xiàn)循環(huán),那么執(zhí)行函數(shù)體內(nèi)代碼的時間要比函數(shù)調(diào)用的開銷大