当我使用静态多态性 (CRTP) 时,是否有一种很好的方法可以为多态方法命名?
template <class Derived>
struct Base
{
void interface()
{
// ...
static_cast<Derived*>(this)->implementation();
// ...
}
static void static_func()
{
// ...
Derived::static_sub_func();
// ...
}
};
struct Derived : Base<Derived>
{
void implementation();
static void static_sub_func();
};
因为,据我所知,接口和实现不能有相同的名称(如果它们是虚拟的,它们就会有相同的名称)。如果类层次结构很深,那就有点尴尬了。
也许有一些很好的方法来处理它?或者也许我错了?