class base{
.....
virtual void function1();
virtual void function2();
};
class derived::public base{
int function1();
int function2();
};
int main()
{
derived d;
base *b = &d;
int k = b->function1() // Why use this instead of the following line?
int k = d.function1(); // With this, the need for virtual functions is gone, right?
}
Я не инженер CompSci, и я хотел бы это знать. Зачем использовать виртуальные функции, если мы можем избежать указателей базового класса?