回覆列表
  • 1 # 使用者3296190926746

    1、預設的繼承訪問許可權。struct是public的,class是private的。比如如下的程式碼: struct A { char a; }; struct B : A { char b; }; 這個時候B是public繼承A的。如果都將上面的struct改成class,那麼B是private繼承A的。這就是預設的繼承訪問許可權。所以在平時寫類繼承的時候,通常會這樣寫: struct B : public A 就是為了指明是public繼承,而不是用預設的private繼承。當然,到底預設是public繼承還是private繼承,取決於子類而不是基類。我的意思是,struct可以繼承class,同樣class也可以繼承struct,那麼預設的繼承訪問許可權是看子類到底是用的struct還是class。如下: struct A{}; class B : A{}; //private繼承 struct C : B{}; //public繼承

    2、struct作為資料結構的實現體,它預設的資料訪問控制是public的,而class作為物件的實現體,它預設的成員變數訪問控制是private的。

    3、class”這個關鍵字還用於定義模板引數,就像“typename”。但關鍵字“struct”不用於定義模板引數。

  • 中秋節和大豐收的關聯?
  • 國產汽車中,你覺得誰的發展最好?