阅读量:0
在C++中,没有内置的“属性”(property)机制,但是可以通过定义getter和setter方法来模拟属性的行为
#include<iostream> class MyClass { private: int myVar; public: // 构造函数 MyClass(int value) : myVar(value) {} // Getter 方法 int getMyVar() const { return myVar; } // Setter 方法 void setMyVar(int value) { if (value >= 0) { myVar = value; } else { std::cerr << "Invalid value, should be non-negative."<< std::endl; } } }; int main() { MyClass obj(10); // 使用 getter 方法获取值 std::cout << "Value of myVar: "<< obj.getMyVar()<< std::endl; // 使用 setter 方法设置新值 obj.setMyVar(20); std::cout << "New value of myVar: "<< obj.getMyVar()<< std::endl; // 尝试设置一个无效值 obj.setMyVar(-5); return 0; }
在这个例子中,我们创建了一个名为MyClass
的类,其中包含一个私有成员变量myVar
。然后,我们定义了公共的getter和setter方法来访问和修改这个变量。在setter方法中,我们还添加了一个简单的验证,以确保传入的值是非负数。
这种方法允许我们在不直接暴露类的内部实现的情况下,控制对成员变量的访问和修改。同时,也可以在getter和setter方法中添加额外的逻辑,例如触发事件、验证输入等。