小编zbo*_*son的帖子

在简单的Point类中,是否存在getter/setter而不是公共成员变量的真实参数?

我有两个简单的类来处理3d几何PointVector.它们都有3个坐标作为公共成员变量,并定义了一些运算符+, -, * ....

class Point
{
public:
    double x, y, z;
    // ctor and some operators   
}


class Vector
{
public:
    double x, y, z;
    // ctor and some operators   
}
Run Code Online (Sandbox Code Playgroud)

是否有任何反对让coordiantes公开的真正理由?我永远不会改变double任何其他类型.我不想将值限制在x, y, z特殊范围内,我不想在设置坐标时检查任何内容.

这些类位于一个库中,供其他项目使用.

更新:
对我来说,对于setter/getter来说,一个很大的不满就是必须像这样编写/读取代码:

myVec.setX(myVec.x() + 1.0);
Run Code Online (Sandbox Code Playgroud)

代替

myVec.x += 1.0;
Run Code Online (Sandbox Code Playgroud)

Upadate 2:
Qt在QPoint中使用getter/setter但没有任何好处

c++

9
推荐指数
1
解决办法
220
查看次数

标签 统计

c++ ×1