【发布时间】:2013-07-15 03:58:24
【问题描述】:
我有一个以模板类为参数的函数:
template<class T> void scheduleTask(T* a);
但我希望调用此函数的类扩展“Runnnable”类,在 Java 中您可以这样做:
public <T extends Runnable> void scheduleTask(T a);
如果可以,我将如何在 c++ 中做到这一点?
【问题讨论】:
-
您希望 所谓的 扩展(大概您的意思是“派生自”)可运行,或者您希望对派生的东西进行实例化?如果是这样,您可能会犯一个错误,尝试用 C++ 编写 Java。模板的基本点是允许对满足其要求的任何内容进行实例化。如果您想要从“Runanble”派生的东西,请传递“Runanble *”或“Runnable &”,并且根本不要使用模板。
-
谢谢,我忘了我可以用它代替模板。
标签: c++ class templates extends