Derived1 и Derived2 наследуются от Base, в то время как ни один класс не наследуется от Derived1 и Derived2. В классах, объявленных ниже, смогу ли я уменьшить один уровень косвенности, не используя ключевое слово «виртуальный» в объявлении функции-члена foo()? Или, точнее, производительность функции Derived2::foo() лучше, чем производительность Derived1::foo()?
class Base{
public:
virtual void foo();
}
class Derived1: public Base{
public:
virtual void foo();
}
class Derived2: public Base{
public:
void foo();
}