在 C++ 中,使用 set
和 get
成員函數可以實現對數據的有效性檢查和驗證。以下是一個簡單的示例,展示了如何使用這些方法驗證一個整數是否在指定范圍內:
#include <iostream>
#include <set>
class DataValidator {
private:
int data;
std::set<int> min_max_range;
public:
DataValidator(int data, std::set<int> min_max_range) : data(data), min_max_range(min_max_range) {}
bool setData(int data) {
if (validateData(data)) {
this->data = data;
return true;
} else {
std::cout << "Invalid data. Data not set." << std::endl;
return false;
}
}
int getData() const {
return data;
}
private:
bool validateData(int data) const {
if (data >= min_max_range.begin() && data <= min_max_range.end()) {
return true;
} else {
return false;
}
}
};
int main() {
std::set<int> range = {1, 100};
DataValidator validator(0, range);
validator.setData(50);
std::cout << "Data: " << validator.getData() << std::endl;
validator.setData(200); // This will be considered as invalid data
std::cout << "Data: " << validator.getData() << std::endl;
return 0;
}
在這個示例中,我們創建了一個名為 DataValidator
的類,它包含一個整數 data
和一個表示允許的最小和最大值的集合 min_max_range
。我們使用 setData
成員函數設置數據,并在設置之前使用 validateData
函數驗證數據是否在允許的范圍內。如果數據有效,則設置新的數據值;否則,不更改當前值。getData
成員函數用于獲取當前的數據值。