C 中struct與class結構的區別

2021-04-19 09:20:12 字數 833 閱讀 3926

c++中struct與class結構的區別

黑月亮 發表於 2005-10-8 20:10:00 

區別:為什麼要有struct的存在呢?首先的原因自然是保持對c的相容。原先的c**可以不必修改就成為合法的c++**。第二個原因(個人愚見),是為了讓struct來表示抽象的資料型別以及抽象介面,而與class所表示的類的概念相區別。

1.c++中的結構struct和c中的struct不同,實際上c++的中的struct和class一樣,在c++中,也可以為結構定義成員函式,惟一不同在於預設的訪問許可權,class中若沒有指定成員的訪問許可權,則預設為private成員,而struct中沒有指定成員訪問許可權,預設是public成員。

2.c++中的struct保持了對c中struct的全面相容(這符合c++的初衷——「a better c」),因而,下面的操作是合法的:

//定義struct

struct structa

;structa a = ;    //  定義時直接賦初值

即struct可以在定義的時候直接以對其成員變數賦初值,而class則不能,在經典書目《thinking c++ 2nd edition》中作者對此點進行了強調。

另外還有強調的就是:

建構函式,析構函式 this 指標方面不同,在c的struct裡沒有,在寫在c++裡的話,就都有這個屬性了,因為c++裡對struct物件當作類物件來處理的.

建構函式,析構函式,繼承,多型什麼的在結構體都能用

1, 只是結構體成員變數和成員函式預設的是public類預設的是private。

2, 繼承是不是也不一樣, struct預設是public的, class預設是private的。

C 中class與struct的區別

類與結構的例項比較 類與結構的差別 如何選擇結構還是類 一 類與結構的示例比較 結構示例 類示例 呼叫過程 從上面的例子中我們可以看到,類的宣告和結構的宣告非常類似,只是限定符後面是 struct 還是 class 的區別,而且使用時,定義新的結構和定義新的類的方法也非常類似。那麼類和結構的具體區別...

C 中class與struct的區別

一 類與結構的示例比較 結構示例 類示例 呼叫過程 從上面的例子中我們可以看到,類的宣告和結構的宣告非常類似,只是限定符後面是 struct 還是 class 的區別,而且使用時,定義新的結構和定義新的類的方法也非常類似。那麼類和結構的具體區別是什麼呢?二 類與結構的差別 1.值型別與引用型別 結構...

C 中struct與class的區別

1。字面上的區別 在字面上struct是structure的縮寫,通常叫做 結構體 在c語言裡用於將多種資料 多個變數組織在一起,便於表達比較複雜的資料型別,在c 中為了相容c語言保留了該關鍵字,並且保留了c語言中的所有功能。雖然在字面上struct與class的含義不一樣,但在c 中其功能基本是相...