下面是我理解的静态多态性的一个非常简单的例子。我不使用动态多态性的原因是我不想阻止 in 函数的内PROCESSOR
联op
。
template <class PROCESSOR>
void op(PROCESSOR* proc){
proc->doSomething(5);
proc->doSomethingElse();
}
int main() {
ProcessorY py;
op<ProcessorY>(&py);
return 0;
}
这个例子的问题是:没有明确定义 aPROCESSOR
必须定义什么函数。如果缺少一个,你只会得到一个编译错误。我认为这是不好的风格。
它还有一个非常实际的缺点:IDE 的在线帮助当然不能向您显示该对象上可用的功能。
定义 a 的公共接口的好/官方方法是PROCESSOR
什么?