C++ 訪問控制關鍵字:public、private、protected
在C++中,public
、private
和protected
是訪問控制關鍵字,用于實現面向對象編程的封裝特性,控制類成員的訪問權限。
訪問控制關鍵字的使用場景
1. public(公有成員)
- 在任何地方都可以訪問
- 通常用于類的接口方法
- 構造函數和析構函數通常是public的
class Circle {
public:// 公有構造函數Circle(double r) : radius(r) {}// 公有接口方法double getArea() {return 3.14159 * radius * radius;}// 公有成員變量(一般不推薦)double x, y;
};
2. private(私有成員)
- 只能在類內部訪問
- 通常用于隱藏實現細節
- 類的成員變量通常設為private
class BankAccount {
private:double balance; // 私有變量,外部無法直接訪問public:BankAccount(double initial) : balance(initial) {}// 通過公有方法訪問私有變量void deposit(double amount) {if (amount > 0) balance += amount;}double getBalance() {return balance;}
};
3. protected(保護成員)
- 在類內部和派生類中可以訪問
- 主要用于繼承場景
子類不能訪問父類的私有成員,如果子類需要訪問父類的私有成員,就必須將父類該私有成員聲明為protected。
class Shape {
protected:// 派生類可以訪問這些成員int width, height;public:void setDimensions(int w, int h) {width = w;height = h;}
};class Rectangle : public Shape {
public:int getArea() {return width * height; // 可以訪問基類的protected成員}
};