阅读量:0
在C++中,我们可以通过使用getter和setter方法来自定义属性的访问权限
#include<iostream> class MyClass { private: int myProperty; // 私有属性 public: // 构造函数 MyClass(int value) : myProperty(value) {} // Getter 方法(公共访问权限) int getMyProperty() const { return myProperty; } // Setter 方法(仅允许修改为偶数值) void setMyProperty(int value) { if (value % 2 == 0) { myProperty = value; } else { std::cout << "Error: Value must be an even number."<< std::endl; } } }; int main() { MyClass obj(4); // 访问属性 std::cout << "Current property value: "<< obj.getMyProperty()<< std::endl; // 修改属性 obj.setMyProperty(6); std::cout << "New property value: "<< obj.getMyProperty()<< std::endl; // 尝试设置为奇数值 obj.setMyProperty(7); return 0; }
在这个例子中,myProperty
是一个私有成员变量。我们提供了一个公共的getter方法getMyProperty()
来访问该属性,并提供了一个公共的setter方法setMyProperty()
来修改该属性。在setter方法中,我们添加了一个条件判断,确保只有偶数值才能被设置。这样,我们就实现了对属性访问权限的自定义。