淺談C結(jié)構(gòu)和C++結(jié)構(gòu)之間的區(qū)別
今天我們來(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)文章
C++ Boost命令行解析庫(kù)的應(yīng)用詳解
命令行解析庫(kù)是一種用于簡(jiǎn)化處理命令行參數(shù)的工具,它可以幫助開(kāi)發(fā)者更方便地解析命令行參數(shù)并提供適當(dāng)?shù)膸椭畔?本文主要介紹了不同的命令行解析庫(kù)和它們?cè)贑++項(xiàng)目中的應(yīng)用,希望對(duì)大家有所幫助2023-11-11
C語(yǔ)言動(dòng)態(tài)規(guī)劃多種背包問(wèn)題分析講解
背包問(wèn)題(Knapsack problem)是一種組合優(yōu)化的NP完全問(wèn)題。問(wèn)題可以描述為:給定一組物品,每種物品都有自己的重量和價(jià)格,在限定的總重量?jī)?nèi),我們?nèi)绾芜x擇,才能使得物品的總價(jià)格最高2022-04-04
C++實(shí)現(xiàn)LeetCode(94.二叉樹(shù)的中序遍歷)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(94.二叉樹(shù)的中序遍歷),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C語(yǔ)言實(shí)現(xiàn)折半查找法(二分法)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)折半查找法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
C語(yǔ)言實(shí)現(xiàn)三角函數(shù)表
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言三角函數(shù)表,打印出相對(duì)應(yīng)的三角函數(shù)值,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
C語(yǔ)言庫(kù)函數(shù)getchar()新見(jiàn)解
用getchar()函數(shù)讀取字符串時(shí),字符串會(huì)存儲(chǔ)在輸入緩沖區(qū)中,包括輸入的回車字符,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中g(shù)etchar()的用法以及案例的相關(guān)資料,需要的朋友可以參考下2022-07-07
C語(yǔ)言設(shè)計(jì)前中后隊(duì)列實(shí)例代碼
隊(duì)列最主要的作用就是用來(lái)管理數(shù)據(jù)流的,防止數(shù)據(jù)因?yàn)閭鬏旑l率過(guò)快得不到及時(shí)處理而丟失,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言設(shè)計(jì)前中后隊(duì)列的相關(guān)資料,需要的朋友可以參考下2021-12-12

