How to create a DataAsset variable in C++?

Help!!!!!!

Why C++ object reference can only choose template?How can I make C++ variable the same as the Blueprint?
C++ Code:

    UPROPERTY(EditAnywhere, BlueprintReadOnly, Instanced, Category = "ItemData")
    class UProductItem* ItemAsset;

C++

BP

Dont set “DefaultToInstanced” in base class!!!