阅读量:0
在 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
成员函数用于获取当前的数据值。