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 и хотел бы знать это. Зачем использовать виртуальные функции, если мы можем избежать указателей базовых классов?