class AUnion { public: ... void _d (Short); // Set discriminator Short _d() const; // Get discriminator void ShortItem (Short); // Store ShortItem and set discriminator Short ShortItem () const; // Read ShortItem if stored void LongItem (Long); // Store LongItem and set discriminator Long LongItem () const; // Read LongItem if stored ... }