我有一個容器類,我們稱之爲TestClass和一個普通的屬性類Property。在C++中處理類的動態屬性
現在我需要做的就是允許不同的TestClass實例擁有多個「屬性」。這些屬性將被動態添加,並且可以在運行時定義新屬性。
處理此問題的天真方式似乎只是像存儲Property類的各種實例的向量。
class TestClass{
public:
std::vector<Property> properties ;
addProperty(Property newProperty) {....}
getProperty(String name) {....}
} ;
class Property{
String name ;
double value ;
Definition definition ;
....
};
class Definition {
....
} ;
不過,我需要在我的程序的另一部分做的是有一個有效的方式,從說的TestClass getPropertyValue(「X」)......第一次檢查,這是現有的屬性,然後檢索財產的價值....以及其他各種操作。
使用天真的方法,將導致檢查特定屬性(基於屬性名稱的猜測)非常低效的方法。
不幸的是,屬性類將比名稱和值更復雜。 – oracle3001