我有一个sub
继承自一个类的类super
。它们都定义了一个函数void function()
(因此 in 的函数sub
会覆盖 in的函数super
)。我创建一个super
指针并为其分配一个新的sub
. 然后我通过 指针调用function()
实例。但是,函数 in被调用,而不是 in 。我希望它调用函数 in ,而不是调用 in 。我该怎么做?sub
super
super
sub
sub
super
#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;
}