强制使用通用方法名称
|
注意:这是对此的后续问题。
我有一组模板类,它们使用完全不同的数据类型以完全不同的方式完成完全不同的事情。但是,它们确实共享通用方法名称。例如,for0ѭ,
Set()
,Resize()
等对于所讨论的每个类都是有效的方法。此外,它们以相同顺序接受参数。这允许通用的非朋友,非成员函数在每个类上工作。一个简化的例子:
template <typename Class, typename Datatype>
void Insert(const Class<Datatype>& Object, const std::size_t Index, const Datatype Value)
{
Object.Resize(Object.Size() + 1);
for (std::size_t CurrentIndex = Object.Size() - 1; CurrentIndex > Index; CurrentIndex--)
{
Object.Set(CurrentIndex, Object.Get(CurrentIndex - 1));
}
Object.Set(Index, Value);
}
现在,我只是依靠自己的内存来正确定义所有适当的方法。有没有办法让编译器强制执行正确方法的定义?如果没有,还有更好的方法吗?
没有找到相关结果
已邀请:
4 个回复
炉挤仙挟
谷起
埃庐
壤欠攻混