The unrealscript version is supposed to mirror the native version variable-by-variable, otherwise the structs end up having different sizes.
You can see that the UScript version has two additional vars: vfOut, vfExec.
Those are the virtual function table pointers for FOutputDevice and FExec classes, which in this case can be considered 'interfaces'.

I just checked the C++ headers, and those 2 have virtual functions and do seem indeed to act like interfaces, which then UPlayer "implements".
Although my own knowledge of C++ is baby-tier at best, so I had to recheck what the virtual functions were all about.
But knowing what those "vf" vars mean in UScript and why they are there is certainly very interesting to know, thanks for the info.

But yeah, C++ doesn't really have the concept of interfaces like other languages, given that it doesn't really need one, given that it has virtual functions and allows for multiple class inheritance directly.
After all, "interfaces" were created in other OOP languages as something close to a workaround on their inability to support multiple class inheritance directly due to the diamond problem, so "interfaces" were just a nice way to allow something close to multiple inheritance with only virtual functions forcibly, since that was the trait mostly needed anyway so that any qualities and capabilities could be shared and recognized between unrelated classes.

And with that, all SOLID principles are done.
If anyone has any doubts, or even any criticism, either on the principles themselves or how I explained them, or any mistakes I may have made, please do not be afraid, just go ahead and ask or tell whichever is in your mind.