我的老师说在C ++中使用get和set函数,因为我们可以在运行时获得值。这是真的吗? Aren的构造函数用于此目的在运行时设置值。
答案 0 :(得分:1)
构造函数用于在对象中生成“默认”值
但是,一旦创建,“getters”和“setter”就是允许您访问该对象的私有成员的简单方法。它们的名称是这样的,因为一个名称是他们的方法getValue()
来获取一个名为value的私有变量来自一个对象或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;
}