Virtual functions cannot be static because static functions are resolved at compile-time, whereas virtual functions are resolved at runtime based on the object's type. However, virtual functions can be declared as inline.