我的老师说在 C++ 中使用 get 和 set 函数,因为我们可以在运行时从中获取值。是真的吗? 构造函数不是用于此目的以在运行时设置值。
最佳答案
构造函数用于生成对象中的“默认”值。
但是,一旦创建,“getter”和“setter”只是允许您访问该对象的私有(private)成员的方法。它们之所以这样命名,是因为将它们的方法命名为 getValue()
以从对象中获取名为 value 的私有(private)变量,或将其命名为 setValue(int)
以设置它。
在这些方法中进行错误检查以及在构造函数中调用“setter”选择以节省代码或轻松创建多个构造函数通常也很方便。
这是一个例子:
class MyClass
{
private:
int value;
public:
MyClass(int);
void setValue(int);
int getValue();
};
MyClass::MyClass(int _value)
{
setValue(_value); // pass to "setter"
}
void MyClass::setValue(int _value)
{
if (_value > 0) // error-checking here
value = _value;
else
value = 0;
}
int MyClass::getValue()
{
return value;
}
关于c++ - C++ 查询中的获取和设置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32850337/