Доступ к свойству структуры по значению переменной

У меня есть структура "маржа" в моем классе с 4 свойствами. Вместо того, чтобы писать четыре разных метода получения/установки, я решил, что могу сделать это лучше :

class myClass {
    private:
        struct margin {
            int bottom;
            int left;
            int right;
            int top;
        }
    public:
        struct getMargin();
        void setMargin(string which, int value);
};

. Но как я могу установить свойство структуры, соответствующее строке «которая» из функции setMargin()? Например, если я вызываю myClass::setMargin("left", 3), как я могу тогда установить "margin.left" на "3"? Желательно при сохранении структуры POD ? Я действительно не могу понять это...

И кстати, действительно ли это лучше, чем писать множество методов получения/установки?

Спасибо!

6
задан Community 23 May 2017 в 12:19
поделиться