C++:05---class和struct
C++被稱為“C with class”,可見(jiàn)在C++中class是多么重要,與class類似的一個(gè)結(jié)構(gòu)就是struct了,struct最早是在C語(yǔ)言中出現(xiàn)的,在C++中對(duì)struct的功能也進(jìn)行了擴(kuò)展。
class :
public(公有):在類內(nèi)外、派生類中都可被訪問(wèn)
protected(保護(hù)):希望與派生類共享但是不想被公共訪問(wèn)所使用的訪問(wèn)權(quán)限。在基類和派生類中(派生類的友元也可以訪問(wèn))可以被訪問(wèn),在類外無(wú)法訪問(wèn)
private(私有):只有在類內(nèi)可被訪問(wèn),類外和子類無(wú)法訪問(wèn)
注意事項(xiàng):
成員不寫(xiě)訪問(wèn)屬性時(shí),類的默認(rèn)訪問(wèn)屬性為private
與結(jié)構(gòu)體的不同:結(jié)構(gòu)體默認(rèn)屬性為public
下面就來(lái)說(shuō)一說(shuō)struct和class的區(qū)別吧:
1、默認(rèn)的繼承權(quán)限
struct默認(rèn)是公有繼承(public),class默認(rèn)是私有繼承(private)
2、關(guān)于默認(rèn)訪問(wèn)權(quán)限
class中默認(rèn)的成員訪問(wèn)權(quán)限是private的,而struct中則是public的。
3、關(guān)于大括號(hào)初始化問(wèn)題
struct在C語(yǔ)言中:
在C語(yǔ)言中,我們知道struct中是一種數(shù)據(jù)類型,只能定義數(shù)據(jù)成員,不能定義函數(shù),這是因?yàn)镃語(yǔ)言是面向過(guò)程的,面向過(guò)程認(rèn)為數(shù)據(jù)和操作是
總結(jié)
以上是生活随笔為你收集整理的C++:05---class和struct的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (十三)nodejs循序渐进-高性能游戏
- 下一篇: scp免密码远程拷贝