我必须将一堆成员添加到一个类中。我想添加一个宏,例如:
#define MEMBER(TYPE,NAME) \
private: TYPE m_##NAME; \
public: TYPE get##NAME() const { return m_##NAME; } \
public: void set##NAME(TYPE in##NAME) { m_##NAME = in##NAME; }
然后使用它将成员添加到类中:
class foo {
MEMBER(std::string, OutputDir);
MEMBER(int, MaxIterations);
MEMBER(double, OptimizationCutoff);
// And a couple dozen more members...
public:
// The rest of the class declarations
};
显然,这样做的目的是简化多个这样的代码实例,每个类成员 3 行:
private: std::string m_OutputDir;
public: std::string getOutputDir() const { return m_OutputDir; }
public: void setOutputDir(std::string inOutputDir) { m_OutputDir = inOutputDir; }
有没有考虑反对这样的编码?