私はインターフェースを持っており、次のように動的ポリモーフィズムの例を試していました:
#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)」の呼び出しに一致する関数が得られません。どこが間違っていますか?この記事を読んでみましたが、それでも間違いがわかりませんでした。