クラスに 4 つのプロパティを持つ構造体「マージン」があります。4 つの異なる getter/setter メソッドを記述する代わりに、もっと良い方法でそれを行うことができると考えました。
class myClass {
private:
struct margin {
int bottom;
int left;
int right;
int top;
}
public:
struct getMargin();
void setMargin(string which, int value);
};
しかし、関数内から文字列「which」に対応する構造体のプロパティを設定するにはどうすればよいsetMargin()
ですか? たとえば、 を呼び出しmyClass::setMargin("left", 3)
た場合、「margin.left」を「3」に設定するにはどうすればよいですか? できれば構造体PODを維持しながら?これは本当に思いつかない…
余談ですが、これは多くの getter/setter メソッドを記述するよりも本当に優れているのでしょうか?
ありがとう!