小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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

 herowuking 2015-11-21

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

    在C++中,class和struct區(qū)別很小。首先,C++中的struct保留有C語言中的struct的功能,但它又與C語言中的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完全一樣。不過,為了理解方便,最好將C++中的struct只當(dāng)C語言的struct來用。

    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來生成對(duì)象,形如:Typename a=new Typename ()

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

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

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(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)論公約

    類似文章 更多