回覆列表
  • 1 # 百家一手娛樂

    C++中的結構體與類的區別只在於結構體的成員預設為公有成員(public可見性),而類的成員預設為私有成員(private可見性),C++中的結構體不同於C語言裡的結構體,C裡的結構體只能封裝一些單一的資料,不能含方法,但在C++的結構體內可以有建構函式,成員函式,還可以指定成員的訪問許可權(如public和private)。

    1、類可以被認為是結構體的一個升級版,它是由結構體演變過來的,在此基礎上加了一些限制,以便更好實現面向物件的設計。結構體基本用在很多資料,需要一個結構體來封裝這些資料。而類的話,是面向物件的思想,可以有很多介面讓人呼叫,私有變數等外部不能呼叫,還有保護型別的變數。

    2、結構體也可以被認為是一種特殊的類,它不存在任何函式,構造和解構函式也沒有,而且是一個公共的的類;相關推薦>>C++中適用於類和結構體的記憶體池模板類

    3、C++類和結構體概念基本一致,區別在於結構體在預設情況下成員是公共的(public),類在預設情況下成員是私有的(private),其他的都一樣,類有的結構體也有。

    4、C++結構體內部成員變數及成員函式預設的訪問級別是public,而c++類的內部成員變數及成員函式的預設訪問級別是private。

    5、C++結構體的繼承預設是public,而c++類的繼承預設是private。

    6、類要加上public變成共有的才能被訪問,而結構本身就是共有的可直接訪問。

    7、C++中struct與class本質上相同的,只是預設的訪問許可權不同,之所以要保留struct,是為了與C相容。

    與C中結構體不同的是,C++中定義結構體變數時可以不加struct關鍵字,如:

    struct student{

    char *name;

    int age;

    };

    student s;//在C中的話要寫成struct student s;

  • 中秋節和大豐收的關聯?
  • 豬下水的滷製做法大全?