c++ Query中的Get和Set函数
Get and Set functions in C++ Query
我的老师说在c++中使用get和set函数是因为我们可以在运行时从它们中获取值。这是真的吗?构造函数不是用来在运行时设置值的吗?
构造函数用于在对象中生成"默认"值。
然而,一旦创建,"getter"answers"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;
}
相关文章:
- 使用运算符调用 void 函数时出错<set>
- 如何在构造函数参数中初始化"std::set"?
- 错误 C2676:std::set::const_iterator 没有运算符 + 函数?
- 是否有一个 std::set 函数来确定不超过数字 x 的最大元素?
- std::set<Key,Compare,Allocator>::find() 函数使用"<"运算符而不是"=="运算符背后的直觉是什么?
- 如何更改 std::set 的比较函数?
- 使用Set/Get-like方法或GetSet组合函数
- 通过函数指针对类内的 STL SET 使用自定义比较器
- 在类中使用映射并通过其他类的 get() 和 set() 函数访问值
- 将set函数(setter)标记为constexpr的目的是什么
- 在C++中定义虚拟get和set函数是否被认为是一种好的做法
- 类字符串setAstring(Astring){//code}中的函数无法使用set函数更改,程序崩溃
- 为什么"Set()"函数比修改公共变量更好?
- 在处理类时为什么要使用get和set函数
- C++使用set函数更新对象属性
- 在语句中调用 std::set 函数时出现意外"if"评估结果
- c++ Query中的Get和Set函数
- 为DLL中的私有类变量编写get和set函数
- 我应该发送std::set函数与参考或不
- c++中重载流op、get和set函数的帮助