在C++中,我們可以使用類的成員函數(getter和setter方法)來實現數據封裝,從而保護類的內部數據
#include<iostream>
class MyClass {
private:
int myProperty; // 私有屬性,外部無法直接訪問
public:
// 構造函數
MyClass(int value) : myProperty(value) {}
// Getter 方法,用于獲取 myProperty 的值
int getMyProperty() const {
return myProperty;
}
// Setter 方法,用于設置 myProperty 的值
void setMyProperty(int value) {
if (value >= 0) {
myProperty = value;
} else {
std::cerr << "Invalid value, should be non-negative."<< std::endl;
}
}
};
int main() {
MyClass obj(10);
// 使用 getter 方法獲取屬性值
std::cout << "Current property value: "<< obj.getMyProperty()<< std::endl;
// 使用 setter 方法設置屬性值
obj.setMyProperty(20);
std::cout << "Updated property value: "<< obj.getMyProperty()<< std::endl;
return 0;
}
在這個例子中,我們定義了一個名為MyClass
的類,其中包含一個私有屬性myProperty
。我們提供了公共的getter和setter方法來訪問和修改這個屬性。注意,在setter方法中,我們添加了一個簡單的驗證,確保傳入的值是非負數。這樣,我們就可以確保類的內部數據始終保持有效狀態。