我有具有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