我正在实现一个静态多态性:
template<typename T>
class Base {
public:
void method() {
// do something
impl();
// do something else
}
void impl() { // intended to be private
static_cast<T*>(this)->impl();
}
};
class Derived : public Base<Derived> {
public:
void impl() { // intended to be private
}
};
void impl()
此代码是纯虚拟的动态多态类的静态实现。所以基类是抽象的。
现在这些类实现了静态多态,因此没有纯虚函数。
是否可以将 Base 类抽象化,从而无法创建此类的对象?