0
template <class T>
struct Base
{
void interface()
{
// ...
static_cast<T*>(this)->implementation();
// ...
}
static void static_func()
{
// ...
T::static_sub_func();
// ...
}
};
struct Derived : Base<Derived>
{
void implementation();
static void static_sub_func();
};
看來我們要只在interface()
功能使用implementation()
。那麼爲什麼我們不宣佈implementation()
爲private
函數?