淺談C結構和C++結構之間的區別
今天我們來看一下:C結構和C++結構之間,到底有什麼不一樣地方!
在C++中,struct和class完全相同,除瞭struct默認為公共可見性和class默認為私有可見性。
C和C ++結構之間的一些重要區別:
結構內部的成員函數:C中的結構不能在結構內部具有成員函數,但是C ++中的結構可以與數據成員一起具有成員函數。
C語言:
這將在C中產生一個錯誤,但在C ++中不會產生任何錯誤。
輸出:num = 9
直接初始化:我們無法在C中直接初始化結構數據成員,但可以在C ++中完成。
輸出:7
使用struct關鍵字:在C語言中,我們需要使用struct來聲明一個struct變量。在C ++中,沒有必要使用struct。例如,讓Record有一個結構。在C語言中,我們必須對記錄變量使用“結構記錄”。在C ++中,我們不需要使用struct,而僅使用’Record’才可以。
靜態成員: C結構不能具有靜態成員,但C++允許使用。
這將在C中產生一個錯誤,但在C ++中不會產生任何錯誤。
在結構中創建構造函數:C中的結構不能在結構內部具有構造函數,但是C ++中的結構可以具有構造函數創建。
輸出:2個
sizeof運算符:此運算符將為C中的空結構生成0,而為C ++中的空結構生成1。
在C中的輸出: 0
在C ++中的輸出: 1個
數據隱藏: C結構不允許數據隱藏的概念,但在C ++中是允許的,因為C ++是一種面向對象的語言,而C語言則不是。
訪問修飾符: C結構沒有訪問修飾符,因為語言不支持這些修飾符。由於C ++結構是用語言內置的,因此可以具有此概念。
到此這篇關於淺談C結構和C++結構之間的區別的文章就介紹到這瞭,更多相關C結構和C++結構區別內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found