我有一个sub继承自一个类的类super。它们都定义了一个函数void function()(因此 in 的函数sub会覆盖 in的函数super)。我创建一个super指针并为其分配一个新的sub. 然后我通过 指针调用function()实例。但是,函数 in被调用,而不是 in 。我希望它调用函数 in ,而不是调用 in 。我该怎么做?subsupersupersubsubsuper
#include <cstdio>
class super {
public:
void function() {
printf("Super\n");
}
};
class sub: public super {
public:
void function() {
printf("Sub\n");
}
};
int main() {
super *p;
p = new sub;
p->function();
return 0;
}