在实现它的类中定义与接口(interface)方法具有完全相同签名的静态方法有什么好处。
class IInterface
{
public:
virtual void fn()=0;
}
class Impl :IInterface
{
public:
~Impl();
static void fn();
}
Impl::~Impl{
}
Impl::fn(){
//do something
}
最佳答案
这样的static
方法没有任何优势。 static
方法不会覆盖 virtual
方法(它们始终是非static
)。
事实上它有缺点,您不能实现实际的方法来覆盖基方法。因为在单个 class
中不能有相同的方法签名(一个 static
和另一个非 static
)。
class Impl :IInterface
{
public :
~Impl();
staic void fn();
void fn() {} // error: invalid (can't have same signature)
};
关于c++ - 具有与接口(interface)方法完全相同签名的静态方法的 C++ 类的优点是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6659328/