Best way for associating Weapon and Ammo?

class AAmmo
{
EAmmo Ammo;
int32 Count;
};

class AWeapon
{
    EAmmo AmmoPrimary;
    int32 CountPrimary;

    EAmmo AmmoSecondary;
    int32 CountSecondary;
};

Perhaps the rational use of StaticClass or DynamicClass (new feature) in this case as alternative to enumeraion of the ammo types.

 class AWeapon
 {
     TSubClassOf<AAmmo> AmmoPrimary;
     int32 CountPrimary;
 
     TSubClassOf<AAmmo> AmmoSecondary;
     int32 CountSecondary;
 };