在C#中我们可以使用这样的东西:
MyClass c = new MyClass();
c.Properties.Add("another property", "another value");
我需要在C ++中这样做。我正在使用VS 2012.有什么想法吗?
已编辑:知道,我可以使用地图或任何列表将属性保存到对象,例如:
void ObjectProperty::addItem(string key, XProperty p)
{
_object[key] = p;
}
答案 0 :(得分:6)
您不能只为对象添加“属性” - 对象的概念在编译时完全完成。在运行时,CPU不知道给定的内存块被称为“对象”或您决定调用类的实例的任何内容。
(这本身就很有趣,因为C ++没有属性)
如果您只想要按名称引用的数据字段,那么任何标准关联容器都应该满足您的需求。