Example at native level in Unreal Engine:
Code: Select all
class Player extends Object
native noexport;
var native const int vfOut;
var native const int vfExec;
// The actor this player controls.
var transient const playerpawn Actor;
var transient const console Console;
//etc...
Code: Select all
class ENGINE_API UPlayer : public UObject, public FOutputDevice, public FExec
{
DECLARE_ABSTRACT_CLASS(UPlayer,UObject,CLASS_Transient|CLASS_Config,Engine)
// Objects.
APlayerPawn* Actor; // O=48
UConsole* Console;
//Etc...
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'.