我有具有n個成員變量的一類T,帶值替換成員變量,例如C++從其他類型
class T{
ushort name;
ushort id;
double value;
.....etc...
};
我也有類T1的集合,T2 ...,每個由構件的變量 它們是T的成員變量的子集(因爲沒有更好的單詞,讓我叫 這是T的子集類型)。例如,T1可以是
class T1 {
ushort name;
double value;
};
剛剛拾取T.
的兩個成員我想寫一個方法
template <typename X>
T join(T t, X x)
在那裏我們返回一個類類型T的,由用t代替每個成員變量的值,用 代替x的值(提供的X是T的一個子類型),t的其他值保持不變。
我可以考慮通過專業化來做到這一點。但是,應該有一個優雅的方法來做到這一點(也許可以檢測出X類型是T的子集類型並做正確的事情)。
傳遞給join()時,這是行不通的SubSetClass – 2012-04-18 16:33:04