1. 程式人生 > >結構體(struct)與類(class)

結構體(struct)與類(class)

在 C++ 的範疇裡,除了 struct 結構體不支援訪問許可權修飾符(private、protected、public)外,已不再區分二者的其他方面語法上的差異。

因此,在 C++ 程式設計中,如果一個類是由 struct 來定義,說明其所有成員都可直接訪問(通過.或者->)。

在使用上,與類所不同的是,結構體中的成員(無論是變數還是函式),可直接被外部訪問,不存在訪問許可權的問題,而類相交而言,是 type-safe 的。

所以在一些情況下,在選擇 struct 還是 class 來封裝某一事物時,需要充分考慮其成員的訪問情況。如果將其定義成 struct,既清晰地告知了編譯器,也明確地向程式設計師傳達的可放心訪問的訊號。