c++ - 创建函数来访问类变量是一种好习惯吗?

标签 c++ class coding-style standards

正如标题所说:创建函数来访问类变量是一种好的做法吗?

我见过很多代码都执行如下操作:

class MyClass {
public:
void setx(int a);
void sety(int b);
int read_x;
int read_y;

private:
int x;
int y;

};

void MyClass::setx(int a) {
x=a;
}

void MyClass::sety(int b) {
y = b;
}

int MyClass::read_x() {
return x;
{

int MyClass::read_y() {
return y;
}

因此,他们不是直接访问变量 (MyClass.x),而是使用函数来读取和设置变量值等。

这是标准做法还是良好做法?

最佳答案

是的,出于多种原因,访问函数优先于直接成员访问。它们提供了一个独特的访问点,更易于跟踪和调试。

例如,您可以在 MyClass::setX() 中设置一个断点,而不是在更改 MyClass.x 的代码中处处设置断点.

但是,尽管访问器方法比直接成员访问要好,但如果使用不当,访问器方法并非没有缺点。详情可以访问Getters and Setters are bad OO design?

关于c++ - 创建函数来访问类变量是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9676390/

相关文章:

c++ - 智能指针以及当它们破坏它们指向的对象时

c++ - 打开包含不存在文件的文件流后没有异常抛出?

c++ - 访问冲突可以是伪装的内存不足错误吗?

c++ - 禁止用户创建对象但允许某些类

java - 如何在 Eclipse 中解析带有源 src-jar 库的类?

java - 测试调用具有不同参数类型的同一类的相似方法的方法的最佳实践是什么?

c++ - 将指针传递给链表时出现段错误

javascript - 具有 Set 集合的类方法不返回任何内容

C# 使用索引设置属性

php - 格式化关联数组声明