我有一个关于在 C++ 编程中处理虚函数的问题。我有这样的事情:
template<class T>
class baseClass
{
virtual void doSomething(T& t) {
// some baseClass specific code
}
void doSomethingElse(T& t) {
// some baseClass specific code
this->doSomething(t);
}
}
template<class T>
class subClass
{
virtual void doSomething(T&) {
// some subclass related code
}
}
现在,如果我构造一个 subClass 类型的对象......
int main(int argc, char *argv[])
{
subClass<anyType> * subClassObject = new subClass<anyType>();
subClassObject->doSomethingElse(anyTypeObject);
}
....并调用doSomethingElse
基类的方法,该方法将调用doSomething
基类的方法而不是子类的方法。
我想要的是调用doSomething
子类的方法(而不是baseClass
)。
谁能告诉我如何做到这一点?