VC 6 0 中的結構型別和類型別有什麼區別?

發布 科技 2024-05-15
10個回答
  1. 匿名使用者2024-01-28

    根本區別:結構體是自定義一種新的資料型別,而類的目的要廣泛得多,類除了資料型別的集合外,還可以定義乙個操作函式。 這意味著您可以定義集合中的資料型別,以及要如何操作這些集合中的元素。

    類的兩個最重要的功能是封裝和繼承。 封裝是為了保護類中定義的資料成員,不能在程式中直接呼叫和賦值(具體指私有成員),除非定義賦值操作函式。 繼承,可以保證類的擴充套件使用。

    這是基於個人經驗對此的簡要說明,建議找個例子**看一看,練習一下。

  2. 匿名使用者2024-01-27

    結構以前不能定義函式,但現在可以定義,但結構的預設值是公共的,類的預設值是私有的。 最重要的是類有很強的繼承機制,一般成員比較簡單,經常被定義為結構體,其他大多數情況都被定義為類。

  3. 匿名使用者2024-01-26

    簡單地說,如果你想要乙個只有成員變數的型別,請使用結構,如果你有方法,請使用類。

    例如,定義網路裝置。

    typedef struct tagnetdevicecstring szdeviceip;

    cstring szdevicename;

    uint ndevicetype;

    long lnetport;

    netdevice;*PnetDevice 只有資料成員,因此您無需在結構上執行其他任務即可使用該結構。

    如果你需要設定位址或其他東西,最好使用乙個類。

  4. 匿名使用者2024-01-25

    C++ 已擴充套件為包括定義成員函式的功能。 有朋友提到struct是一種值型別,有優點也有缺點,大家可以看看。

    我的理解沒有那麼深,在我看來,struct就是不能繼承,預設為public的類,當然,其實有很多區別,沒那麼深! 呵呵!

  5. 匿名使用者2024-01-24

    結構和類型別基本相同,唯一的區別是,如果未宣告成員訪問,則結構預設為 public,類型別預設為 private。

    犀牛很多,但它們沒有回答這個問題。 類可以有函式,但結構不能有函式嗎?

  6. 匿名使用者2024-01-23

    c C++結構。

    C中的結構和C++中的結構的區別在於,C中的結構只能自定義資料型別,結構中不允許使用任何函式,而C++中的結構可以新增成員函式。

    C++ 中結構和類之間的異同:

    1、相似性:結構中可以包含功能; 您還可以定義公共、私有和受保護的資料成員。 定義結構後,可以使用結構名稱建立物件。 但是 c 中的結構不允許有函式;

    也就是說,在C++中,結構中可以有成員變數,可以有成員函式,它可以繼承自其他類,可以被其他類繼承,可以有虛函式。

    2. 區別:結構定義中的預設成員是 public,而類定義中的預設成員是 private。 類中的非靜態成員函式有這個指標,(且結構沒有錯,是被誤導了,測試後結構的成員函式有相同的這個指標),類的關鍵字類可以作為模板模板的關鍵字,即模板類a{}; 結構不能。

    實際上,C語言中的結構體只涉及資料結構,而不涉及演算法,也就是說,在C語言中資料結構和演算法是分開的,在C++中,乙個類或乙個結構可以包含乙個函式(這個函式在C++中通常稱為成員函式),C++中的結構體和類反映了資料結構和演算法的結合。

  7. 匿名使用者2024-01-22

    C++ 將結構視為乙個類,其中所有成員都可以訪問 public。

  8. 匿名使用者2024-01-21

    C++的結構主要是為了C相容性而存在的。

    它們中的大多數是相同的,只有兩個區別:

    結構成員的預設訪問許可權是 public,而類成員的預設訪問許可權是 private

    結構體經常被用作C++最基本的通訊協議載體,標準規定編譯器不能擅自修改結構體成員之間的記憶體布局順序,必須嚴格按照成員宣告的順序放置。 但是,該標準沒有指定類成員的記憶體布局順序,這取決於每個編譯器如何方便地處理它。

  9. 匿名使用者2024-01-20

    在 C++ 中,結構是一種特殊形式的類。

    結構和類之間的唯一區別是結構和類具有不同的預設訪問控制屬性。

    在類中,未指定訪問控制屬性的成員是私有的

    在結構中,未指定任何訪問控制屬性的成員具有公共型別的訪問控制屬性

    在C++中,結構體的缺失絲毫不影響程式的表現力。 C++ 引入了結構以保持與 C 程式的相容性。

    但是,結構體有時仍用於 C++,因為它們可用於將不同型別的資料組合成乙個整體,從而更容易儲存資料。 (如果使用類來儲存,因為類中的成員預設是私有的,所以必須讀取並覆蓋每個資料成員特定函式的每個屬性,這樣比較麻煩。 )

    C 語言中的結構不允許定義函式成員,也沒有訪問控制屬性的概念。

    C++ 在 C 語言中為結構體引入了物件導向的功能,例如成員函式、訪問控制許可權、繼承和包含多型性。

    C++ 除了結構體之外還引入了類關鍵字,但為了保持與 C 程式的相容性,C++ 保留了結構體關鍵字,並規定結構體的預設訪問控制許可權為公共型別。

    此外,在 C 中,空結構的大小為 0,而 C++ 空心結構(屬於空類)的大小為 1。

    C++ 空心類的大小為 1 的原因:

    空類也可以例項化,類例項化的每個物件都需要有不同的記憶體位址,這樣每個物件在記憶體中都有不同的位址,所以在類中加入乙個隱式位元組。

  10. 匿名使用者2024-01-19

    1.不同的型別:結構是值型別,而類是引用型別。 值型別用於儲存資料的值,引用型別用於儲存對實際資料的引用。 然後,將結構用作值,並通過引用使用類來操作實際資料。

    2.不同的儲存:結構使用堆疊儲存,而類使用堆儲存。 堆疊的空間相對較小。 但是,儲存在堆疊中的資料訪問起來相對高效。 堆空間相對較大。 但是,儲存在堆中的資料訪問效率相對較低。

    3.功能不同:類是反映真實事物的抽象,而結構的作用只是一種包含不同類別的特定資料的包裝,結構沒有類的繼承多型性。

    4、關鍵詞不同:類內能用但結構受限的關鍵詞有:抽象、密封、保護; static 關鍵字可用於在類名之前宣告乙個靜態類,但不能在結構體之前宣告乙個靜態類,並且沒有靜態結構。

    5、初始化不同:類可以在宣告時初始化,但結構不能在宣告時初始化(字段不能在結構中初始化),否則會報錯。

相關回答
12個回答2024-05-15

逐個程序除錯 - F10

逐句除錯 - f11 >>>More

11個回答2024-05-15

我認為這與在 C 程式中編寫語句並讓編譯器編寫另乙個 C 程式相同。 >>>More

7個回答2024-05-15

這裡有 5 種方法可以做到這一點:

1.種子。 #include >>>More

7個回答2024-05-15

安裝時提示文辰路片丟失,解決方法:

2. 然後將解壓後的檔案儲存到 C: Windows System32 目錄。 >>>More

21個回答2024-05-15

1.編譯器不同。

比較初級,比較適合初學者學習C語言,但是因為已經上線時間長了,很多變數和函式定義方法跟不上時代,會有一些與Win7不相容的地方; VS2010:功能比較齊全,相容性更好,**style和**提示**更適合程式設計師,編寫程式更方便。 >>>More