我有一个 API,我需要在扩展它时松散地模拟它(因此没有改变约定),我必须做的一件事是提供 setter/getter,比如对一些私有(private)成员的访问名称方法实现一次用于设置,一次用于通过签名更改。
看起来像这样
class MyClass{
float m_t1;
float m_t2;
public:
const float t1();
const float t2();
void t1(float);
void t2(float);
};
MyClass::MyClass(){
m_t1 = 0.0;
m_t2 = 0.0;
}
const float MyClass::t1(){
return m_t1;
}
const float MyClass::t2(){
return m_t2;
}
void MyClass::t1(float t_val){
m_t1 = t_val;
}
void MyClass::t2(float t_val){
m_t2 = t_val;
}
我的问题是,这个有名字吗?也许作为一种模式或其他东西。
虽然如果我从头开始做事不是我的第一选择,但我不一定介意,但任何让我能够阅读它的指示(注意事项、建议、做和不做,以防它真的是一件事)将不胜感激,以防万一它是一种在某个地方出现令人讨厌的惊喜的模式(在这种情况下比仅仅抛出两个 float 要复杂一些)。
如果有人想分享他们对它的看法,那当然是一种奖励,但我会很高兴只提供进一步阅读的链接。
最佳答案
我认为这是 Objective-C setter/getter 风格。例如,参见 this和 this .
只要您熟悉 C++ 重载,就不会对重载方法感到惊讶。如果没有,那么我建议阅读更多关于重载的内容。
就个人而言,因为我有 Java 背景,所以我喜欢使用 setVariable 和 getVariable 名称。但同样,这完全是个人的。
关于c++ - 具有相同名称的 Getter/Setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469346/