C++小白,正在從頭學(xué)習(xí)中。問題是:在class里如果不設(shè)置構(gòu)造函數(shù),那么缺省的構(gòu)造函數(shù)是公共的還是私有的?又或者由于構(gòu)造函數(shù)不能被調(diào)用,因此無所謂公共還是私有。同理:由struct定義的類里呢?缺省構(gòu)造函數(shù)是公共的還是私有的?是否受其默認(rèn)的屬性影響。我注意到很多教學(xué)的例子中由class定義的類里,構(gòu)造函數(shù)會特意寫在public里。
2 回答

慕俠2389804
TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個贊
構(gòu)造函數(shù)一律都是公有成員;構(gòu)造函數(shù)不是不能被調(diào)用,而是不能被用戶調(diào)用。系統(tǒng)在構(gòu)造對象的時候會調(diào)用構(gòu)造函數(shù)的。如果是私有成員的話,就無權(quán)訪問了。所以你可以試試,如果將構(gòu)造函數(shù)寫在private關(guān)鍵字后面,那么編譯時會報錯的。
添加回答
舉報
0/150
提交
取消