-
根本區別:結構體是自定義一種新的資料型別,而類的目的要廣泛得多,類除了資料型別的集合外,還可以定義乙個操作函式。 這意味著您可以定義集合中的資料型別,以及要如何操作這些集合中的元素。
類的兩個最重要的功能是封裝和繼承。 封裝是為了保護類中定義的資料成員,不能在程式中直接呼叫和賦值(具體指私有成員),除非定義賦值操作函式。 繼承,可以保證類的擴充套件使用。
這是基於個人經驗對此的簡要說明,建議找個例子**看一看,練習一下。
-
結構以前不能定義函式,但現在可以定義,但結構的預設值是公共的,類的預設值是私有的。 最重要的是類有很強的繼承機制,一般成員比較簡單,經常被定義為結構體,其他大多數情況都被定義為類。
-
簡單地說,如果你想要乙個只有成員變數的型別,請使用結構,如果你有方法,請使用類。
例如,定義網路裝置。
typedef struct tagnetdevicecstring szdeviceip;
cstring szdevicename;
uint ndevicetype;
long lnetport;
netdevice;*PnetDevice 只有資料成員,因此您無需在結構上執行其他任務即可使用該結構。
如果你需要設定位址或其他東西,最好使用乙個類。
-
C++ 已擴充套件為包括定義成員函式的功能。 有朋友提到struct是一種值型別,有優點也有缺點,大家可以看看。
我的理解沒有那麼深,在我看來,struct就是不能繼承,預設為public的類,當然,其實有很多區別,沒那麼深! 呵呵!
-
結構和類型別基本相同,唯一的區別是,如果未宣告成員訪問,則結構預設為 public,類型別預設為 private。
犀牛很多,但它們沒有回答這個問題。 類可以有函式,但結構不能有函式嗎?
-
c C++結構。
C中的結構和C++中的結構的區別在於,C中的結構只能自定義資料型別,結構中不允許使用任何函式,而C++中的結構可以新增成員函式。
C++ 中結構和類之間的異同:
1、相似性:結構中可以包含功能; 您還可以定義公共、私有和受保護的資料成員。 定義結構後,可以使用結構名稱建立物件。 但是 c 中的結構不允許有函式;
也就是說,在C++中,結構中可以有成員變數,可以有成員函式,它可以繼承自其他類,可以被其他類繼承,可以有虛函式。
2. 區別:結構定義中的預設成員是 public,而類定義中的預設成員是 private。 類中的非靜態成員函式有這個指標,(且結構沒有錯,是被誤導了,測試後結構的成員函式有相同的這個指標),類的關鍵字類可以作為模板模板的關鍵字,即模板類a{}; 結構不能。
實際上,C語言中的結構體只涉及資料結構,而不涉及演算法,也就是說,在C語言中資料結構和演算法是分開的,在C++中,乙個類或乙個結構可以包含乙個函式(這個函式在C++中通常稱為成員函式),C++中的結構體和類反映了資料結構和演算法的結合。
-
C++ 將結構視為乙個類,其中所有成員都可以訪問 public。
-
C++的結構主要是為了C相容性而存在的。
它們中的大多數是相同的,只有兩個區別:
結構成員的預設訪問許可權是 public,而類成員的預設訪問許可權是 private
結構體經常被用作C++最基本的通訊協議載體,標準規定編譯器不能擅自修改結構體成員之間的記憶體布局順序,必須嚴格按照成員宣告的順序放置。 但是,該標準沒有指定類成員的記憶體布局順序,這取決於每個編譯器如何方便地處理它。
-
在 C++ 中,結構是一種特殊形式的類。
結構和類之間的唯一區別是結構和類具有不同的預設訪問控制屬性。
在類中,未指定訪問控制屬性的成員是私有的
在結構中,未指定任何訪問控制屬性的成員具有公共型別的訪問控制屬性
在C++中,結構體的缺失絲毫不影響程式的表現力。 C++ 引入了結構以保持與 C 程式的相容性。
但是,結構體有時仍用於 C++,因為它們可用於將不同型別的資料組合成乙個整體,從而更容易儲存資料。 (如果使用類來儲存,因為類中的成員預設是私有的,所以必須讀取並覆蓋每個資料成員特定函式的每個屬性,這樣比較麻煩。 )
C 語言中的結構不允許定義函式成員,也沒有訪問控制屬性的概念。
C++ 在 C 語言中為結構體引入了物件導向的功能,例如成員函式、訪問控制許可權、繼承和包含多型性。
C++ 除了結構體之外還引入了類關鍵字,但為了保持與 C 程式的相容性,C++ 保留了結構體關鍵字,並規定結構體的預設訪問控制許可權為公共型別。
此外,在 C 中,空結構的大小為 0,而 C++ 空心結構(屬於空類)的大小為 1。
C++ 空心類的大小為 1 的原因:
空類也可以例項化,類例項化的每個物件都需要有不同的記憶體位址,這樣每個物件在記憶體中都有不同的位址,所以在類中加入乙個隱式位元組。
-
1.不同的型別:結構是值型別,而類是引用型別。 值型別用於儲存資料的值,引用型別用於儲存對實際資料的引用。 然後,將結構用作值,並通過引用使用類來操作實際資料。
2.不同的儲存:結構使用堆疊儲存,而類使用堆儲存。 堆疊的空間相對較小。 但是,儲存在堆疊中的資料訪問起來相對高效。 堆空間相對較大。 但是,儲存在堆中的資料訪問效率相對較低。
3.功能不同:類是反映真實事物的抽象,而結構的作用只是一種包含不同類別的特定資料的包裝,結構沒有類的繼承多型性。
4、關鍵詞不同:類內能用但結構受限的關鍵詞有:抽象、密封、保護; static 關鍵字可用於在類名之前宣告乙個靜態類,但不能在結構體之前宣告乙個靜態類,並且沒有靜態結構。
5、初始化不同:類可以在宣告時初始化,但結構不能在宣告時初始化(字段不能在結構中初始化),否則會報錯。
安裝時提示文辰路片丟失,解決方法:
2. 然後將解壓後的檔案儲存到 C: Windows System32 目錄。 >>>More
1.編譯器不同。
比較初級,比較適合初學者學習C語言,但是因為已經上線時間長了,很多變數和函式定義方法跟不上時代,會有一些與Win7不相容的地方; VS2010:功能比較齊全,相容性更好,**style和**提示**更適合程式設計師,編寫程式更方便。 >>>More