我有一个接口,我正在尝试一个关于动态多态的示例,如下所示:
#include <iostream>
using namespace std;
class foo{
public:
virtual void set();
virtual void printValue();
};
class fooInt : public foo{
private:
int i;
public:
int get(){
return i;
}
void set(int val){ //override the set
i = val;
}
void printValue(){
cout << i << endl;
}
};
int main(){
foo *dt; //Create a base class pointer
dt = new fooInt; //Assign a sub class reference
dt->set(9);
}
但是,当我编译它时,我没有得到调用 'foo::set(int)' 的匹配函数。我哪里错了?我试图阅读这篇文章,但我仍然无法找出错误。