Я пишу довольно большую библиотеку, и я нахожу, что пишу почти идентичные аксессоры все время. У меня уже есть несколько десятков аксессуаров, таких как ниже.
Вопрос. Как я могу объявить/реализовать средства доступа, чтобы сохранить ввод всего этого повторяющегося кода? (Нет #defines, пожалуйста, я ищу С++-конструкции.)
Обновление. Да, мне нужны функции доступа, потому что мне нужно использовать указатели для этих аксессуаров для чего-то, называемого дескрипторами свойств, которые позволяют значительно экономить на моем графическом интерфейсе (не-библиотеке).
.h файл
private:
bool _visible;
public:
bool GetVisible() const { return _visible; }
void SetVisible (bool value);
// Repeat for Get/SetFlashing, Get/SetColor, Get/SetLineWidth, etc.
.cpp file
void Element::SetVisible (bool value)
{
_visible = value;
this->InvalidateSelf(); // Call method in base class
// ...
// A bit more code here, identical in 90% of my setters.
// ...
}
// Repeat for Get/SetFlashing, Get/SetColor, Get/SetLineWidth, etc.