C++中何時應該使用類而不是結構體?


在 C++ 中,結構體和類非常相似,但有一些區別。以下詳細介紹了這些區別,有助於決定何時在 C++ 中使用類或結構體。

類和結構體的區別

預設情況下,類的所有成員都是私有的。這與結構體不同,因為結構體的所有成員預設都是公有的。

演示 C++ 中類的程式如下所示:

示例

#include <iostream>
using namespace std;
class Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   return 0;
}

此程式會產生錯誤,因為 val 預設是私有的,因此無法使用 obj 直接訪問。

演示 C++ 中結構體的程式如下所示:

示例

線上演示

#include <iostream>
using namespace std;
struct Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   cout<<"Value is: "<<obj.val;
   return 0;
}

輸出

上述程式的輸出如下:

Value is: 20

上述程式執行正確,因為 val 預設是公有的,因此可以使用 obj 直接訪問。

類和結構體的另一個區別在繼承中很明顯。繼承類時,基類的訪問說明符預設為私有。相比之下,繼承結構體時,基結構體的訪問說明符預設為公有。

更新於:2020年6月26日

343 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.