#define PROPERTY_RW(T,var) public: \
void set_##var(const T& _var){m_##var=_var;}\
T get_##var(){return m_##var;}\
private: T m_##var;
class Test
{
public:
Test();
~Test();
PROPERTY_RW(int, my_var)
private:
};
Test::Test()
{
}
Test::~Test()
{
}
int main()
{
Test t;
t.set_my_var(1000);
auto x=t.get_my_var();
printf("var=%d\n", x);
getchar();
return 0;
}
本文介绍了一种在C++中实现属性(getter/setter)的技巧,通过宏定义简化了成员变量的封装过程,使代码更加清晰和易于维护。示例展示了如何使用此技巧创建一个简单的Test类,包括其构造和析构函数。
1190

被折叠的 条评论
为什么被折叠?



