[UE4]PURE_VIRTUAL用法

UE4的编译器特性,标准C++没这种特性。

PURE_VIRTUAL作用:一个继承自UObject的UClass都是必须能够实例化的,系统要能够调用其默认构造函数,即所谓的CDO(Class Default Object),这样他就不能含有纯虚函数,但是某些特定场景中要求他的虚函数在其子类中被强制实现(而不是普通虚函数的可选实现),那么此时可以使用PURE_VIRTUAL,这样他的cpp文件中可以不用实现此函数,同时自己其他函数中又可以直接调用此函数,且子类需要强制实现此函数

 

用法:

/* With PURE_VIRTUAL we skip implementing the function in SWeapon.cpp and can do this in SWeaponInstant.cpp / SFlashlight.cpp instead */
virtual void FireWeapon() PURE_VIRTUAL(ASWeapon::FireWeapon, );

 

你可能感兴趣的:(UE4)