Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 同名的Getter/Setter_C++_Getter Setter - Fatal编程技术网

C++ 同名的Getter/Setter

C++ 同名的Getter/Setter,c++,getter-setter,C++,Getter Setter,我有一个API,我需要在扩展它时松散地模拟它(所以没有改变约定),我必须做的一件事是提供对一些私有成员的setter/getter式访问,使用一个单独的名称方法实现一次设置,一次通过签名更改 看起来像这样 class MyClass{ float m_t1; float m_t2; public: const float t1(); const float t2(); void t1(float); void t2(float); }; M

我有一个API,我需要在扩展它时松散地模拟它(所以没有改变约定),我必须做的一件事是提供对一些私有成员的setter/getter式访问,使用一个单独的名称方法实现一次设置,一次通过签名更改

看起来像这样

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;
}
我的问题是,这个有名字吗?也许作为一种模式或其他东西

虽然不是我的第一选择,如果我是从零开始做事的话,我不一定介意,但是如果有任何提示让我能够阅读它(警告、建议、做什么和不做什么,以防它真的是一件事),我将不胜感激,以防它是一种模式,在这条线的某个地方会有令人不快的惊喜(这种情况比仅仅扔两个浮球要复杂一些)


如果有人想分享他们对这方面的看法,那当然是一种奖励,但我很乐意看到更多阅读的链接。

我认为这是Objective-C setter/getter风格。例如,请参阅和

<> P>超载方法并不奇怪,只要你知道C++超载,如果不是,那么我建议多读关于重载的文章。
就个人而言,由于我来自Java背景,我喜欢使用setVariable和getVariable名称。但是,这完全是个人的。

我认为这是Objective-C setter/getter风格。例如,请参阅和

<> P>超载方法并不奇怪,只要你知道C++超载,如果不是,那么我建议多读关于重载的文章。
就个人而言,由于我来自Java背景,我喜欢使用setVariable和getVariable名称。但是,这完全是个人的。

我认为这是Objective-C setter/getter风格。例如,请参阅和

<> P>超载方法并不奇怪,只要你知道C++超载,如果不是,那么我建议多读关于重载的文章。
就个人而言,由于我来自Java背景,我喜欢使用setVariable和getVariable名称。但是,这完全是个人的。

我认为这是Objective-C setter/getter风格。例如,请参阅和

<> P>超载方法并不奇怪,只要你知道C++超载,如果不是,那么我建议多读关于重载的文章。
就我个人而言,由于我来自Java背景,我喜欢使用setVariable和getVariable名称。但同样,它完全是个人的。

就像一个“切换”的函数再次调用它,它是真的,它是假的。我相信大多数人只是称之为重载。有些语言内置了这种功能,例如C#调用这个属性。就个人而言,我不太喜欢重载样式,但这是个人偏好。@EvanCarslake它不是一个切换。功能上它是setter/getter(通过公共方法访问的私有成员),只是语义不同,因为没有setter/getter通用的方法名称的明确区别:人们通常使用setMyvar()/getMyvar()。我只是想知道是否有这种模式的附带情况(特别是模板化的情况)。就像“切换?”再次调用它,它是真的,它是假的。我相信大多数人只是称之为重载。有些语言内置了这种功能,例如C#调用此属性。就个人而言,我并不十分喜欢重载样式,但这是个人偏好。@EvanCarslake它不是一个切换。从功能上来说,它是setter/getter(通过公共方法访问的私有成员),只是语义不同,因为没有setter/getter通用的方法名称的明确区别:人们通常使用setMyvar()/getMyvar()。我只是想知道是否有这种模式的附带情况(特别是模板化的情况)。就像一个函数切换?“再次调用它,它的真调用和假调用。我相信大多数人只是称之为重载。有些语言内置了这种功能,例如C#调用此属性。就个人而言,我不太喜欢重载样式,但这是个人偏好。@EvanCarslake它不是一个切换。从功能上讲,它是setter/getter(通过公共方法访问的私有成员),只是语义不同,因为没有setter/getter通用的方法名称的明确区别:人们通常使用setMyvar()/getMyvar()。我只是想知道是否有这种模式的附带情况(特别是模板化的情况)。就像一个函数切换?“再次调用它,它的真调用和假调用。我相信大多数人只是称之为重载。有些语言内置了这种功能,例如C#调用此属性。就个人而言,我不太喜欢重载样式,但这是个人偏好。@EvanCarslake它不是一个切换。从功能上讲,它是setter/getter(通过公共方法访问的私有成员),只是语义上不同,因为没有setter/getter通用的方法名称的明确区别:人们通常使用setMyvar()/getMyvar()。我只是想知道是否有这种模式的附带情况(特别是模板化的情况下)我对C++中的重载已经足够熟悉了,所以我没有真正的问题来执行它或者理解正在发生的事情,只是偶尔有一些边缘的案例,只有语言的律师才能够挖掘出来,我发现先发制人的请求已经免除了我过去的痛苦。rds是基本的,在许多其他方面非常流行(即过载设置器/获取器)谢谢。我已经足够熟悉C++中的重载了,所以我没有真正的问题来执行它或者理解正在发生的事情。只是偶尔有一些边缘的案例,只有语言的律师才能够挖掘,我发现先发制人的请求已经免除了我过去的痛苦。关键字是基本的,对其他许多人来说非常流行