class base
{
public:
virtual void showbase() {
// ----------
}
};
class base1 {
public:
virtual void showbase1() {
// -------
}
};
class derived : public base, public base1
{
void showbase() {
// ----
}
void showbase1() {
// -------
}
};
int main()
{
base* p = new derived();
p->showbase1();
base1* p1 = new derived();
p1->showbase();
}
仮想関数についての私の理解によると、コンパイラはそれを実行時 (vtable メカニズム) で処理し、なぜコンパイル時エラーが発生するのかということです。