允许用户在类上定义属性C++
Allow user's defined properties on a class in C++
我正在一个项目上使用boost,我想在Foo类上使用捆绑属性机制。这是为了允许用户向类添加结构等数据。
实际上,Foo是一个类,其使用方式与Boost Graph Library中图形上的边缘类似。例如,Foo需要包含用户定义的数据(标签,ID,...),用户可以在算法过程中通过访问者处理这些数据。
但是,我无法理解如何使用元编程将此功能添加到我的类 Foo 中。你能解释一下一些设计模式吗?
这背后的想法很简单。宿主类将托管类作为模板参数。
一旦拥有它,它就从后者派生出来:
template <class T>
template class Host : public T
{
};
正如继承规则所指定的那样,所有公共成员都可以从派生类访问。
如果要链接更多属性,请使用乘法继承。
简单而令人敬畏,对吧?
相关文章:
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 如何在Qt C++中向自定义控件添加属性?
- 如何删除Qt设计器中自定义插件的QString属性的"translatable"复选框?
- 我可以从样式表 (qss) 更改自定义动态属性吗?
- 如何在Boost Graph库中的Grid_graph的边缘添加自定义属性
- c++类定义.属性作为指针?这是正确的方式
- 用C 在QT中创建自定义属性
- glibmm/gtkmm自定义属性解释/示例请求
- maya自定义图像平面中的公共可见自定义属性
- Windows安装程序,在C++中访问自定义操作中的自定义属性
- QObject 自定义属性何时从样式表中指定的值初始化
- 允许用户在类上定义属性C++
- 将自定义属性分组到 Maya 中的节点
- 将自定义属性添加到Boost图库中的网格顶点
- Boost::图形未定义属性
- 如何使用qt属性动态显示/隐藏个人定义属性的子属性
- 如何在托管c++中使用手写的getter/setter定义属性
- FBX SDK访问自定义属性
- clang:在 AST 中不可见的自定义属性
- 读(和写)Office文档自定义属性而不需要自动化