1. 程式人生 > >結構體和類的區別及何時使用

結構體和類的區別及何時使用

1.結構的建構函式和類的建構函式不同。ITPUB個人空間C|wl s*Ng7M,c-Wf.G:^
   a.結構不能包含顯式的無引數建構函式。結構成員講自動初始化為它們的預設值。ITPUB個人空間D,F x OH
   b.結構不能包含以下形式的初始值設定類:base(argument-list);
/[KCQ8LD ? L&x02.對於結構中的例項欄位成員,不能在宣告時賦值初始化。ITPUB個人空間?4tu'?B Rh
3.聲明瞭結構型別後,可以使用new運算子建立構造物件,也可以不使用new關鍵字。如果不使用new,那麼在初始化所有欄位之前,欄位將保持未賦值狀態且物件不可用。ITPUB個人空間$`y*o5_"J/H!h

4.結構不支援繼承,即一個結構不能從另一個結構或類繼承,而且不能作為一個類的基類。但是,結構從基類OBJECT繼承。結構也可以實現介面。ITPUB個人空間m1E2QH+^2WE!Hw
5.什麼時候用結構呢?結構使用簡單,並且很有用,但是要牢記:結構在堆疊中建立,是值型別,而類是引用型別。每當需要一種經常使用的型別,而且大多數情況下該型別只是一些資料時,使用結構能比使用類獲得更佳效能。ITPUB個人空間;w,u*Wa6gb/q S q#W2n