37 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2024-10-12 17:19:46 +08:00
# UCLASS()
- **功能描述:** 留空的默认行为是不能在蓝图中被继承,不能在蓝图中定义变量,但拥有反射的功能。
- **引擎模块:** UHT
- **元数据类型:** bool
- **作用机制:** 在ClassFlags中增加[CLASS_MatchedSerializers](../../../Flags/EClassFlags/CLASS_MatchedSerializers.md), [CLASS_Native](../../../Flags/EClassFlags/CLASS_Native.md), [CLASS_RequiredAPI](../../../Flags/EClassFlags/CLASS_RequiredAPI.md), [CLASS_TokenStreamAssembled](../../../Flags/EClassFlags/CLASS_TokenStreamAssembled.md), [CLASS_Intrinsic](../../../Flags/EClassFlags/CLASS_Intrinsic.md), [CLASS_Constructed](../../../Flags/EClassFlags/CLASS_Constructed.md)
- **关联项:** [不写UCLASS()](不写UCLASS().md)
- **常用程度:★★★★★**
不能在蓝图中被继承,不能在蓝图中定义变量。
但依然都可以通过蓝图ConstructObject创建出来。对于想要拥有反射功能但是并不想在蓝图中被使用会挺适合。
## 示例代码:
```cpp
/*
[MyClass_Default Class->Struct->Field->Object /Script/Insider.MyClass_Default] [IncludePath = Class/MyClass_Default.h, ModuleRelativePath = Class/MyClass_Default.h]
ObjectFlags: RF_Public | RF_Standalone | RF_Transient
Outer: Package /Script/Insider
ClassFlags: CLASS_MatchedSerializers | CLASS_Native | CLASS_RequiredAPI | CLASS_TokenStreamAssembled | CLASS_Intrinsic | CLASS_Constructed
Size: 48
{
public: void ExecuteUbergraph(int32 EntryPoint);
};
*/
UCLASS()
class INSIDER_API UMyClass_Default :public UObject
{
GENERATED_BODY()
public:
};
```
默认的拥有这些标志CLASS_MatchedSerializers | CLASS_Native | CLASS_RequiredAPI | CLASS_TokenStreamAssembled | CLASS_Intrinsic | CLASS_Constructed