我不太熟悉模板,但我想知道是否可以将它们用于setter和getter方法。例如,在这种情况下:
double exmlClass::getA(void) const
{
return a_;
}
void exmlClass::setA(const double& a)
{
a_ = a;
}
double exmlClass::getB(void) const
{
return b_;
}
如您所见,这些方法几乎相同,除了它们引用另一个私有变量(a_、b_和c_)。在这种情况下,是否有更优雅的编写函数的方式,或者像上面那样是常见做法?如果通常使用模板,请给出如何在上述代码中使用模板的示例。
我还想问的另一个问题是,getter和setter应该如何正确声明?这是好的编码风格吗?
double getA(void) const;
void setA(const double& a);
double getB(void) const;
void setB(const double& b);
double getC(void) const;
void setC(const double& c);
我的意思是getter方法是否应始终为const,而setter方法则应该将参数作为对象的引用传递,而不是复制它,这样可能会慢一点?