我的课程中有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); };
但是如何在函数setMargin()中设置与字符串“which”对应的struct的属性?例如,如果我调用myClass :: setMargin(“left”,3),我怎么能将“margin.left”设置为“3”?最好在保持结构POD的同时?我真的无法弄清楚这一点……
从旁注来看,这真的比编写许多getter / setter方法更好吗?
谢谢!
解决方法
首先,你的想法很糟糕……