新聞中心
本文操作環(huán)境:Windows7系統(tǒng),php7.4版,Dell G3電腦。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了東安免費(fèi)建站歡迎大家使用!
php與c++不同之處有哪些?
區(qū)別:
一個有protected成員變量(假設(shè)為i)的類型Base,他的子類Derived直接繼承自Base,同時Derived有一個成員函數(shù)func,他的參數(shù)是Base類型的,這個函數(shù)可以訪問Base對象的protecte的成員嗎?在C++中不可以,而在PHP中可以。
關(guān)于重載:
PHP中不支持C++中的重載,重新定義個函數(shù)(不管是參數(shù)相同還是不同,都會導(dǎo)致重復(fù)定義錯誤)。PHP有自己的重載方法,而且比C++中的更廣泛,他不僅可以重載函數(shù)(通過使用__call()方法),還可以重載成員變量(通過使用__get()和__set())。而C++中只能對函數(shù)進(jìn)行重載,而且重載的方法只有:不同的參數(shù)類型,不同的函數(shù)修飾符(const)。
關(guān)于abstract和interface
PHP中有這兩個修飾符,因?yàn)镻HP不支持對一個普通類的多繼承,因此interface用于實(shí)現(xiàn)多繼承。Abstract類在C++中也存在,只是實(shí)現(xiàn)方式不一樣,C++中使用pure virtual函數(shù)來表明這個類是抽象類,不能單獨(dú)被實(shí)例化。而PHP中不僅可以使用函數(shù)的修飾符abstract(另外class前也必須標(biāo)明abstract)來標(biāo)明這個意思,也可以只使用abstract修飾符修飾class更直接的表明他是抽象類。另外, C++中的pure virtual函數(shù)不受訪問類型的限制,不管是什么訪問類型,都會被看作是public;而php中的abstract函數(shù)不能被聲明成private,僅此而已。
多態(tài)
因?yàn)镻HP是弱類型語言,所以他的多態(tài)性到處都有體現(xiàn),導(dǎo)致他的多態(tài)性不像C++中那么明顯。比如,在PHP中基類的函數(shù)可以看作全是virtual的,因此它不需要加任何修飾符,子類中和基類同名的函數(shù)都會被動態(tài)調(diào)用,而C++不一樣,如果基類中的這個函數(shù)沒有加virtual修飾符,子類中的那個同名函數(shù)就不會被動態(tài)調(diào)用,只能靜態(tài)調(diào)用了。
操作符重載
PHP中不存在,而C++存在。重點(diǎn)在==操作符,在PHP中他可以運(yùn)用在任何類型上,即使這個類型沒有(像C++中一樣)寫自己的==重載函數(shù)。PHP中對于對象的比較,==表示兩個對象的屬性和值都一樣,而且類型也一樣;PHP也存在一個===操作符,表示他們引用了同一個對象,這跟java中很像吧。
final關(guān)鍵字
PHP中存在這個關(guān)鍵字,表示這個函數(shù)不能被重寫(如果他用來修飾函數(shù)),或者類不能被繼承(如果用類修飾class)。而C++中沒有這個關(guān)鍵字,也無法模擬出那個效果。
對象賦值和拷貝
C++中的拷貝或者賦值大致有這三種方式。
一種是指針的賦值,即p1 = &obj,相當(dāng)于PHP和java中的賦值操作;
另一種是memberwise assignment,也就是在obj1 = obj2時發(fā)生的事情,默認(rèn)情況下執(zhí)行淺度拷貝,和PHP中clone的效果一樣。他可以通過重載賦值拷貝操作來執(zhí)行你的深度拷貝或者其他自定義的拷貝,這就相當(dāng)于PHP中的__clone()成員函數(shù);
第三種是memberwise initialization,也就是在參數(shù)傳遞時,傳遞返回值時或者包含對象的容器初始化的時候自動運(yùn)行的,你可以通過自己定義拷貝構(gòu)造函數(shù)來控制它的效果。
拷貝構(gòu)造函數(shù)在PHP中幾乎用不到,因?yàn)樗膫鬟f是完全按引用傳遞,而不是對象的直接拷貝。
當(dāng)前標(biāo)題:php與c++不同之處有哪些
地址分享:http://fisionsoft.com.cn/article/ccicdcp.html


咨詢
建站咨詢
