我们在编写程序的时候,经常会出现需要扩展的情况,例如:
class CTest
{
public:
CTest(){}
~CTest(){}
public:
int m_a;
int m_b;
};
如果理想的状态下,这个类不需要添加新的变量,但是大多数时候,我们的程序需要进行修改和添加新的属性。
例如我们需要给CTest类添加一个新的属性, int m_c; 以前我一直是这样添加的。 我也一直在寻找更好的方法。 上次看我同事的代码,发现他很好的实现了这种添加。 他是在QT中使用
map
m_propertys;
来保存属性。我知道有很多高手会有更好的实现方法。不过这是我最见过最好的实现方式。
这里我用boost的boost::any来实现。
#include
#include
#include
#include
阅读(2026) | 评论(1) | 转发(0) |