當前位置:編程學習大全網 - 編程軟體 - C語言中class和struct的區別是什麽?

C語言中class和struct的區別是什麽?

struct更適合看成是壹個數據結構的實現體,class更適合看成是壹個對象的實現體。

struct沒有繼承,沒有封裝,要說封裝只有初步封裝。而class把數據,接口可以以三種類型封裝,private,public,protected;還可以繼承和派生。

它們都可以提供自己的接口函數,構造函數。壹個類可以由結構繼承而來。struct只能叫做數據的集合,外部可以任意訪問,但是類就完成了封裝,維護了數據安全,這就是面向對象的理念。

class裏可以定義私有成員和保護成員而結構體裏所有的成員,均為公用成員

struct想用{}來賦初值,它也必須滿足很多的約束條件,這些條件實際上就是讓struct更體現出壹種數據機構而不是類的特性。那為什麽在上面僅僅將struct改成class,{}就不能用了呢?其實問題恰巧是之前所講的——訪問控制!如果將struct改成class的時候,訪問控制由public變為private了,那當然就不能用{}來賦初值了。加上壹個public,class也是能用{}的,和struct毫無區別。

從上面的區別,可以看出,struct更適合看成是壹個數據結構的實現體,class更適合看成是壹個對象的實現體。

  • 上一篇:旋轉圖形怎麽畫視頻教程
  • 下一篇:用手指織圍巾的教程
  • copyright 2024編程學習大全網