Я не знаком с шаблонами, но мне интересно, можно ли их использовать для методов установки и получения. Например, в этой ситуации:
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_). Есть ли более элегантный способ написать эти функции, или в таких ситуациях обычная практика - делать то же самое? И если распространено использование шаблонов, я был бы признателен за пример того, как вы могли бы использовать их в приведенном выше коде.
Еще один вопрос, который я хотел бы задать, - как правильно объявлять геттеры и сеттеры. Это хороший стиль кодирования?
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);
Я имею в виду, должны ли геттеры всегда быть константными, а сеттеры должны принимать в качестве аргумента ссылку на объект, а не копировать его, что, вероятно, будет немного медленнее?