日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C++和C#中的class和struct區(qū)別

 herowuking 2015-11-21

    今天無(wú)意中看到兩年前自己總結(jié)的C++和C#中class和struct的比較。

    在C++中,class和struct區(qū)別很小。首先,C++中的struct保留有C語(yǔ)言中的struct的功能,但它又與C語(yǔ)言中的struct有很大區(qū)別。C++中的struct可以像class那樣,允許有成員函數(shù),允許繼承。在C++中,class和struct只有兩點(diǎn)區(qū)別。

1.class成員變量和成員函數(shù)默認(rèn)為private,而struct中成員默認(rèn)為public。

2.class默認(rèn)為private繼承,struct默認(rèn)為public繼承。

    除這兩點(diǎn)之外,C++中的class和struct完全一樣。不過(guò),為了理解方便,最好將C++中的struct只當(dāng)C語(yǔ)言的struct來(lái)用。

    C#中,class和struct區(qū)別很大。我總結(jié)有以下幾點(diǎn):

1.class是引用類型,而struct是值類型。引用類型使用的是堆內(nèi)存,也就是動(dòng)態(tài)內(nèi)存,值類型使用的是棧內(nèi)存。但為了保持外觀的一致,C#讓class和struct在使用時(shí),都要用new來(lái)生成對(duì)象,形如:Typename a=new Typename ()

2.class允許定義無(wú)參的構(gòu)造函數(shù),struct不允許。

3.C#中有專門的interface標(biāo)識(shí)來(lái)定義接口,class允許實(shí)現(xiàn)接口(類似繼承),而且允許實(shí)現(xiàn)多個(gè)接口,struct不允許實(shí)現(xiàn)接口。當(dāng)然,C#不允許class繼承多個(gè)class。

    這里只簡(jiǎn)要總結(jié)一下,不再詳細(xì)展開說(shuō)明了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多