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 直接訪問。
類和結構體的另一個區別在繼承中很明顯。繼承類時,基類的訪問說明符預設為私有。相比之下,繼承結構體時,基結構體的訪問說明符預設為公有。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP