在C++中,我們可以使用訪問修飾符來定義類的成員的訪問權限。C++中有三種訪問修飾符:public、private和protected。
1. public:公有成員可以在類的內部和外部被訪問。它們可以被類的成員函數、類的對象和類的派生類的成員函數訪問。
2. private:私有成員只能在類的內部被訪問。它們不能被類的對象和類的派生類的成員函數訪問。私有成員常用于封裝類的實現細節。
3. protected:受保護成員可以在類的內部被訪問,也可以被類的派生類的成員函數訪問。它們不能被類的對象訪問。受保護成員常用于實現繼承關系中的數據封裝。
下面是一個示例代碼,演示如何自定義訪問權限:
```cpp
class MyClass {
public:
int publicVar; // 公有成員
private:
int privateVar; // 私有成員
protected:
int protectedVar; // 受保護成員
};
int main() {
MyClass obj;
obj.publicVar = 1; // 可以訪問公有成員
// obj.privateVar = 2; // 錯誤!不能訪問私有成員
// obj.protectedVar = 3; // 錯誤!不能訪問受保護成員
return 0;
}
```
在上面的示例中,`publicVar`是公有成員,可以在類的內部和外部被訪問。`privateVar`是私有成員,只能在類的內部被訪問。`protectedVar`是受保護成員,可以在類的內部和派生類的成員函數中被訪問。