inline and virtual can't incompatible at all in C++, this must be modified.