一个getter的方法不一定能得到成员的值?

A getter method that doesn't necessarily get a member's value?

假设我有一个包含数组的 C++ class。

例如这个class的一个成员函数,可以是return某个索引处的值。我相信这会被视为一种 getter 方法。

但是,您如何 class 验证一个类似的函数,而不是简单地 return 一个布尔值,它基于值 是否存在 在数组中?

这个函数是 'getting' 的东西,但不一定是 class 成员的值。这仍会被视为 getter 方法吗?

真的重要吗?考虑这个界面:

struct Adder {
    Adder(int a,int b);
    int get_sum();
};

对于这个 class 的用户来说,实现是否是这样根本不重要:

struct Adder {
    Adder(int a,int b) : a(a),b(b) {}
    int get_sum() { return a+b; }
private:
    int a,b;
};

或者这个:

struct Adder {
    Adder(int a,int b) : c(a+b) {}
    int get_sum() { return c; }
private: 
    int c;
};

第二个 return 是一个成员,根据您的定义,它将是一个 "getter" 方法。第一个没有,但这是否意味着它不是真正的 "getter" 方法?该方法实际上 return 是一个成员还是其他东西是一个实现细节,对调用者来说无关紧要,也不应该影响您为该方法指定的名称。