Removing internal geometry after joining multiple objects

Hey everyone! I am fairly new to using Blender (Also this is my first post, I hope this is the appropriate location for this question) and I am having trouble performing a particular operation and could use some guidance. I have been creating complex objects by joining multiple overlapping duplicates of a base object. Say like a flower made out of a bunch petals. The only method I have found to quickly remove all internal geometry is to use a boolean modifier intersect+carve with a larger object such as a cube completely surrounding the object. However carve is no longer available in 2.8 and Bmesh is not producing the desired result.

Is there a different approach I can take to produce the same results?

Below is an example of what I mean with only two objects. I am looking for a method which can be extended to multiple objects joined together and overlapping.