欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談C結(jié)構(gòu)和C++結(jié)構(gòu)之間的區(qū)別

 更新時(shí)間:2021年04月22日 10:54:31   作者:一起學(xué)編程  
這篇文章主要介紹了淺談C結(jié)構(gòu)和C++結(jié)構(gòu)之間的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

今天我們來(lái)看一下:C結(jié)構(gòu)和C++結(jié)構(gòu)之間,到底有什么不一樣地方!

在C++中,struct和class完全相同,除了struct默認(rèn)為公共可見(jiàn)性和class默認(rèn)為私有可見(jiàn)性。 

C和C ++結(jié)構(gòu)之間的一些重要區(qū)別:

結(jié)構(gòu)內(nèi)部的成員函數(shù):C中的結(jié)構(gòu)不能在結(jié)構(gòu)內(nèi)部具有成員函數(shù),但是C ++中的結(jié)構(gòu)可以與數(shù)據(jù)成員一起具有成員函數(shù)。

C語(yǔ)言:

這將在C中產(chǎn)生一個(gè)錯(cuò)誤,但在C ++中不會(huì)產(chǎn)生任何錯(cuò)誤。 

輸出:num = 9

直接初始化:我們無(wú)法在C中直接初始化結(jié)構(gòu)數(shù)據(jù)成員,但可以在C ++中完成。 

輸出:7

使用struct關(guān)鍵字:在C語(yǔ)言中,我們需要使用struct來(lái)聲明一個(gè)struct變量。在C ++中,沒(méi)有必要使用struct。例如,讓Record有一個(gè)結(jié)構(gòu)。在C語(yǔ)言中,我們必須對(duì)記錄變量使用“結(jié)構(gòu)記錄”。在C ++中,我們不需要使用struct,而僅使用'Record'才可以。

靜態(tài)成員: C結(jié)構(gòu)不能具有靜態(tài)成員,但C++允許使用。

這將在C中產(chǎn)生一個(gè)錯(cuò)誤,但在C ++中不會(huì)產(chǎn)生任何錯(cuò)誤。 

在結(jié)構(gòu)中創(chuàng)建構(gòu)造函數(shù):C中的結(jié)構(gòu)不能在結(jié)構(gòu)內(nèi)部具有構(gòu)造函數(shù),但是C ++中的結(jié)構(gòu)可以具有構(gòu)造函數(shù)創(chuàng)建。

輸出:2個(gè)

sizeof運(yùn)算符:此運(yùn)算符將為C中的空結(jié)構(gòu)生成0,而為C ++中的空結(jié)構(gòu)生成1。 

在C中的輸出: 0

在C ++中的輸出: 1個(gè)

數(shù)據(jù)隱藏: C結(jié)構(gòu)不允許數(shù)據(jù)隱藏的概念,但在C ++中是允許的,因?yàn)镃 ++是一種面向?qū)ο蟮恼Z(yǔ)言,而C語(yǔ)言則不是。

訪問(wèn)修飾符: C結(jié)構(gòu)沒(méi)有訪問(wèn)修飾符,因?yàn)檎Z(yǔ)言不支持這些修飾符。由于C ++結(jié)構(gòu)是用語(yǔ)言內(nèi)置的,因此可以具有此概念。 

到此這篇關(guān)于淺談C結(jié)構(gòu)和C++結(jié)構(gòu)之間的區(qū)別的文章就介紹到這了,更多相關(guān)C結(jié)構(gòu)和C++結(jié)構(gòu)區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論