Во-первых, функции , вызываемые виртуально , не могут быть встроены - компилятору необходимо сначала получить указатель на vtable, чтобы узнать, какую функцию вызывать.Не все функции, отмеченные virtual
, вызываются виртуально - они могут быть встроенными.
Тогда __forceinline
не будет распространяться на реализацию производного класса - это нестандартное ключевое слово для компилятора, которое оказываетфункция.Поэтому, если вы хотите принудительно встроить, вы должны снова применить ключевое слово в функции производного класса.Опять же, это не гарантирует, что все звонки будут встроены.